INE 6406 - Mobilidade em Computação (PPGCC) Aula 3 - Computação Móvel e Ubíqua 16.5 Segurança e Privacidade Sistemas Voláteis: muitas questões sobre segurança e privacidade. 1. Usuários e administradores de sistemas voláteis exigem segurança para seus dados e recursos: confidencialidade, integridade e disponibilidade Confiança (base de toda a segurança) é diminuída nos sistemas voláteis. II. Muitos usuários se preocupam com sua privacidade. 16.5 Segurança e Privacidade III. Usuários e administradores de sistemas voláteis exigem segurança para seus dados e recursos: Porque os componentes interagem espontaneamente, podendo ter pouco conhecimento a priori uns dos outros. IV. Muitos usuários se preocupam com sua privacidade. Sua capacidade de controlar o acesso às informações sobre eles mesmos. Devido à percepção nos espaços inteligentes pelos quais os usuários passam. 16.5 Segurança e Privacidade As medidas para garantir segurança e privacidade das pessoas devem ser leves: Parcialmente, para preservar a espontaneidade das interações. Parcialmente, devido à interfaces com o usuário restritas de muitos dispositivos: “As pessoas não desejarão fazer login em uma caneta inteligente antes de a usarem no escritório de seus anfitriões.” 16.5.1 Fundamentação Problemas relacionados ao HW Protocolos de segurança convencionais não são suficientes em sistemas voláteis. Dispositivos portáteis podem ser furtados ... Um projeto de segurança para sistemas voláteis não deve contar com a integridade de dispositivos. Sistemas voláteis não tem recursos de computação suficientes para criptografia de chave pública, mesmo usando curvas elípticas que é a técnica mais moderna nesta linha. 16.5.1 Fundamentação Problemas relacionados ao hardware Criptografia simétrica pode ser usada em redes de dispositivos de baixa potência, entretanto, surge o problema do compartilhamento de uma chave secreta. Energia é um problema: protocolos de segurança devem ser projetados para minimizar a sobrecarga de comunicação, para preservar a energia de nodos no sistema volátil. Operação desconectada: evitar protocolos que contam com acesso on-line contínuo a servidores. 16.5.1 Fundamentação Novos tipos de compartilhamento de recursos: exemplos de problemas Novos projetos de segurança, para os exemplos a seguir: Novos projetos de segurança ... Os administradores de um espaço inteligente expõem um serviço acessível ao visitante por meio de uma rede sem fio. Mas, a rede sem fio pode ir além dos limites do prédio, de onde invasores poderiam intrometer-se. O serviço exige proteção apenas para um determinado grupo de usuários. Esses poderiam fazer objeção quanto à privacidade. Novos projetos de segurança ... Dois usuários de uma mesma empresa, que se encontram em uma conferência, trocam um documento entre seus dispositivos portáteis sem usar fio. A interação é num meio público de pessoas desconhecidas. Existe um terceiro confiável (a empresa deles), na prática, pode ser que a empresa esteja inacessível, ou pode não estar configurada nos dispositivos de todos os usuários. Novos projetos de segurança ... Uma pessoa trabalhando na área médica pega um monitor de batimentos cardíacos sem fio, de uma caixa de dispositivos semelhantes, o liga a um paciente e o associa ao serviço de registro de dados clínicos desse paciente. Pode haver um número confuso de sensores sem fio usados para diferentes pacientes, em diferentes momentos, e é fundamental fazer e desfazer associações com segurança entre os dispositivos e os respectivos registros de paciente. Novos projetos de segurança ... Cada um desses casos é um tipo de interação espontânea. Cada caso levanta problemas de segurança ou privacidade. Nenhum deles é parecido com os padrões de compartilhamento de recursos encontrados em Intranets ou na Internet. 16.5.2 Algumas Soluções Tentativas de resolver os problemas de segurança e privacidade em sistemas voláteis. As técnicas divergem significativamente dos padrões em SDs. Exploram o fato de que esses sistemas são integrados no nosso mundo físico cotidiano, usando evidência física em vez de evidência criptográfica, para capturar propriedades de segurança. Soluções ... Autenticação baseada na localização Associação espontânea e segura de dispositivos Proteção à Privacidade Autenticação baseada na localização Associação espontânea e segura de dispositivos Proteção à Privacidade Autenticação baseada em localização mostra a dificuldade em proteger a privacidade em sistemas voláteis. Mesmo que o usuário não revele sua identidade, ele revela um local. Esse local pode ser associado a outros tipos de informação potencialmente identificadoras. Mesmo com anonimato, sua privacidade pode ser violada. Proteção à Privacidade Em nível de sistema, a ameaça básica é que, voluntariamente ou involuntariamente, os usuários fornecem identificadores de vários tipos para espaços inteligentes, quando os visitam ou acessam serviços. Meios de identificação: Endereços MAC em redes Bluetooth e IEEE 802.11 Etiquetas RFID Proteção à Privacidade Qualquer que seja sua origem, os identificadores podem ser associados a um local e a uma atividade, em determinado momento do tempo. Assim, podem ser associadas às informações pessoais do usuário. Em um espaço inteligente, usuários podem ser espionados e terem seus identificadores coletados. Proteção à Privacidade O espaço inteligente pode rastrear os identificadores, pelos locais e inferir movimentos., o que leva à perda de privacidade. Há a idéia de substituir identificadores embutidos (endereços MAC e RFID) em endereços soft, que podem ser substituídos de tempos em tempos para inibir o rastreamento. Proteção à Privacidade Mas, a dificuldade com endereços MAC e IP é que alterálos, causa interrupções de comunicação, o que representa o custo exigido para se ter privacidade. A dificuldade com RFIDs é que, embora um usuário portando uma RFID não queira ser rastreado por sensores “errados”, em geral ele quer que sua etiqueta seja lida por determinados sensores “corretos” (porque ele tem interesse em algum serviço). Proteção à Privacidade Uma técnica para tratar desse problema é fazer a etiqueta usar funções de resumo (funções hash, que são unilaterais) para substituir os identificadores embutidos e para gerar o identificador emitido, sempre que for lido. Apenas, um terceiro confiável, que conheça o identificador original da etiqueta RFID, poderá descobrir o identificador emitido, para verificar qual etiqueta foi lida. Proteção à Privacidade Como as etiquetas RFID passam seus identificadores a armazenados, por uma função resumo (hash), antes de emitílos, os invasores são incapazes de conhecer o identificador armazenado. Outra estratégia para ajudar a salvaguardar a privacidade é substituir os endereços soft, que os clientes forneçam para os serviços, por um: identificador anônimo – escolhido aleatoriamente para todo pedido de serviço. ou usar um pseudônimo, um identificador falso, mas que é usado consistentemente pelo cliente por algum período de tempo. Proteção à Privacidade A vantagem do pseudônimo sobre o identificador anônimo é que um cliente construa um relacionamento de confiança (uma boa reputação com determinado serviço), mas sem revlar sua identidade verdadeira. Entretanto, é trabalhoso demais para um usuário gerenciar identificadores anônimos ou pseudônimos, de modo que isso é feito por um componente do sistema chamado proxy de privacidade. Proteção à Privacidade O proxy de privacidade é um componente em que os usuários confiam para enviarem todos os pedidos de serviço de forma anônima. Cada um dos dispositivos de usuário tem um canal privativo e seguro com o proxy de privacidade. Esse proxy de privacidade substitui os identificadores anônimos ou pseudônimos por todos os identificadores verdadeiros nos pedidos de serviço. Proteção à Privacidade O problema do proxy é que se ele for atacado com sucesso, a utilização do serviço pelo cliente será revelada. O proxy não oculta quais serviços o usuário acessa. Um invasor poderia empregar análise de tráfego entre as mensagens que fluem em um dispositivo e as mensagens que fluem em um serviço, e observar correlações no tráfego, examinando fatores como instantes de tempo e os tamanho das mensagens. Proteção à Privacidade Mixing é uma técnica estatística para combinar as comunicações de muito usuários de tal maneira que os invasores não possam desembaralhar facilmente as ações de um usuário relativo a outro. Assim, ajuda a salvaguardar a privacidade dos usuários. Uma aplicação de mixing é construída montando-se uma rede de sobreposição (overlay) de proxies que cifram, agregam, reordenam e encaminham mensagens entre eles, através de hops de maneira a tornar difícil correlacionar: qualquer mensagem de cliente que entre na rede, ou serviço com qualquer mensagem que saia dela. Proteção à Privacidade Cada proxy compartilha chaves apenas com os proxies vizinhos. É difícil comprometer a rede sem o comprometimento de todos os proxies. Al-Muhtadi et al. [2002] descrevem uma arquitetura para roteamento de forma anônima de mensagens, de um cliente para serviços em um espaço inteligente. Proteção à Privacidade Outra aplicação de mixing é a ocultação das localizações dos usuários por meio da exploração da presença de muitos deles em cada lugar, como por exemplo, num shopping center. Beresford e Stajano [2003] descrevem um sistema para ocultar localizações de usuários por meio de zonas de mixagem. Zonas de Mixagem são regiões onde os usuários não acessam serviços com reconhecimento de localização, como os corredores entre espaços inteligentes. Proteção à Privacidade A idéia é que os usuários mudem seus pseudônimos nas zonas de mixagem, onde a localização de nenhum usuário é conhecida. Se as zonas de mixagem forem suficientemente pequenas, e se pessoas (usuários) passarem suficientemente por essas zonas, então as zonas de mixagem poderão desempenhar a função parecida com a de uma rede de mixagem com anonimato de proxies. Perspectiva Os problemas de segurança relacionados ao hardware e à espontaneidade de sistemas voláteis desafiam a nossa capacidade de criar soluções para segurança. Essa é uma área de pesquisa importante: a segurança e a privacidade podem se transformar em barreiras para o uso de sistemas voláteis. 16. 6 Adaptatividade (Adaptabilidade) Heterogeneidade dos dispositivos: poder de processamento, recursos de I/O (tamanho da tela), largura de banda da rede, memória, capacidade de energia. É improvável que a heterogeneidade diminua, significativamente, devido aos múltiplos propósitos que temos para os dispositivos. Adaptatividade As demandas por locomoção (tamanho da tela) e incorporação dos dispositivos (energia) significam que a heterogeneidade continuará a diferir muito. Tendência positiva (no mundo inteiro): armazenamento persistente cada vez mais denso e com custo cada vez mais baixo. O que não irá mudar: mudança em tempo de execução (condições de tempo de execução, como largura de banda e energia) mudam significamente. Adaptatividade Sistemas adaptativos: aqueles que são baseados em um modelo de recursos variáveis e que adaptam seu comportamento, em tempo de execução, à disponibilidade de recursos corrente. Objetivo dos sistemas adaptativos: acomodar a heterogeneidade, permitindo a reutilização do software entre contextos que variam em fatores como as capacidades do(s) dispositivo(s) e as preferências do usuário, acomodando as condições variáveis do recurso em tempo de execução, adaptando o comportamento do aplicativo sem deturpar suas propriedades fundamentais. Adaptatividade Atingir esses objetivos poder ser extremamente dificil. Duas áreas de adaptatividade: Adaptação de conteúdo com reconhecimento de contexto Adaptação a sistema de recursos variáveis 16.6.1 Adaptação de conteúdo com reconhecimento de contexto Aplicações multimídias funcionam fazendo fluir dados multimídia: imagens, áudio e vídeo. Alguns dispositivos nos sistemas voláteis podem fornecer conteúdo multimídia. Mas, geralmente o conteúdo que um serviço precisa distribuir para determinado dispositivo é uma função do contexto: Adaptação de conteúdo com reconhecimento de contexto Contexto: o lado produtor de mídia deve levar em conta não apenas os recursos do dispositivo consumidor, mas também as preferência dos usuários. Um usuário pode preferir texto à imagem em um tela pequena; Outro, pode preferir saída de áudio à saída visual. Os itens de um conteúdo que o serviço distribui pode exigir uma interação mais direta com o usuário: Os recursos numa mapa de uma região dependerão se o usuário é um turista (atrações) ou um trabalhador (pontos de acesso a um serviço). Em um dispositivo com limitações de tela é mais provável que o mapa seja legível, se mostrar apenas um tipo de recurso Adaptação de conteúdo com reconhecimento de contexto Trabalho demais para autores de conteúdo multimídia produzirem soluções individuais para vários contextos diferentes. A alternativa é adaptar os dados originais para uma forma conveniente, por meio de programas: selecionando-os, gerando conteúdo a partir deles, ou transformando-os, ou qualquer combinação destes três processos. Adaptação de conteúdo com reconhecimento de contexto As vezes, os dados originais são expressos independentemente de como são apresentados (XML) e scripts em XSLT seriam usados para criar formas representáveis de conteúdos multimídia para determinado contexto. Em outros casos: os dados originais já são um tipo de conteúdo multimídia (imagens). Adaptação de conteúdo com reconhecimento de contexto A adaptação do conteúdo pode ocorrer dentro dos tipos de mídia: Selecionar dados do mapa; Reduzir a resolução de uma imagem. A adaptação do conteúdo pode ocorrer entre os tipos de mídia: converter texto em áudio (fala): ou converter áudio (fala) em texto; De acordo com as preferências do usuário, ou de acordo com o recurso de saída do dispositivo consumidor ser uma tela ou saída de áudio. Adaptação de conteúdo com reconhecimento de contexto O problema de adaptação de conteúdo tem recebido muita atenção para os sistemas cliente-servidor na Internet. O modelo da Web: a adaptação deve ocorrer na infraestrutura mais rica em recursos – no próprio serviço ou num proxy – e não no cliente sem tantos recursos. W3C (World Wide Web Consortium) e a OMA (Open Mobile Alliance) tem padrões para que os recursos e as configurações dos dispositivos dos usuários podem se expressos com alguns detalhes. Adaptação de conteúdo com reconhecimento de contexto W3C produziu a especificação para o perfil CC/PP (Composite Capabilities/Preferences) para permitir que dispositivos especifiquem seus recursos e configurações, como tamanho de tela e largura de banda. OMA produziu a especificação de perfil de agente de usuário, que fornece um vocabulário CC/PP para telefones móveis. Um servidor (que detém um serviço) recupera a especificação para fornecer o conteúdo correspondente e armazena a especificação em cache para uso futuro. Adaptação de conteúdo com reconhecimento de contexto Um tipo de adaptação importante para dispositivos com largura de banda limitada é compactação do conteúdo multimídia. Uma arquitetura que resolve adaptação tem proxies que realizam a compactação dinamicamente entre serviços e clientes. Adaptação de conteúdo com reconhecimento de contexto (Sistemas Voláteis) Quando se trata de sistemas voláteis, como os espaços inteligentes, é preciso rever algumas suposições para adaptação na escala da Internet. Os sistemas voláteis são mais exigentes. Podem requerer adaptação entre qualquer par de dispositivos associados dinamicamente. Neste caso, a adaptação não está restrita aos dispositivos clientes de um serviço particular (como na Internet) Adaptação de conteúdo com reconhecimento de contexto Em sistemas voláteis existem, potencialmente, muito mais provedores de serviços, cujos conteúdos precisam ser adaptados. Duas implicações: Os espaços inteligentes devem fornecer proxies em sua infraestrutura, para adaptar conteúdo entre componentes voláteis. Necessidade de examinar melhor quais tipos de adaptação de conteúdo podem e devem ser realizados em dispositivos pequenos. Adaptação de conteúdo com reconhecimento de contexto Das implicações, temos duas consequências: Mesmo que exista um proxy de adaptação, um dispositivo precisa enviar seus dados para esse proxy. E comunicação é mais dispendiosa, comparada com o processamento, com relação à energia. Pode ser mais eficiente, com relação à energia, compactar os dados antes da transmissão. Entretanto, os acessos à memória durante a compactação e descompactação tem forte efeito sobre o consumo de energia. Mas, em termos de energia, compactar antes de transmitir, proporciona uma economia de energia, comparada à transmissão de dados sem compactação. 16.6.2 Adaptação a sistema de recursos variáveis Suporte do sistema operacional para adaptação a recursos voláteis. Tirando proveito dos recursos do espaço inteligente. 16.6.3 Resumindo ... Duas categorias principais de adaptação nos sistemas voláteis. Motivadas pela sua heterogeneidade e pela volatilidade de suas condições de execução. Adaptação de dados multimídia no contexto do consumidor de mídia: características do dispositivo, tarefa do usuário do dispositivo, adaptação para os níveis dinâmicos dos recursos do sistema, como energia e largura de banda. 16.6.3 Resumindo ... Argumentos: Melhor produzir software adaptativo que pudesse acomodar condições variadas, de acordo com um modelo de variação bem compreendido, Do que desenvolver SW e HW de maneira ad hoc, à medida que surgir a necessidade. 16.6.3 Resumindo ... Dificuldades: Produzir software adaptativo é difícil e não existe um acordo geral de como fazer isso: Os próprios modelos de variação – sobre como prover recursos para mudanças de níveis e sobre como reagir quando eles mudam – podem ser difíceis de inferir com qualquer generalidade. 16.6.3 Resumindo ... Existem desafios de engenharia de software adaptativo: encontrar pontos de adaptação convenientes em software já existente, exige um conhecimento profundo do seu funcionamento; criar um novo software adaptativo, existe uma série de técnicas de engenharia de software, como a programação orientada a aspectos, para ajudar os programadores a gerenciar a adaptação. 16.6.3 Resumindo ... Engenharia de controle e automação ou engenharia de controlo e automação, comumente chamada de "mecatrônica", é a área dentro da engenharia voltada ao controle de processos industriais utilizando-se para isso de elementos sensores, elementos atuadores, sistemas de controle, Sistemas de Supervisão e Aquisição de Dados e outros métodos que utilizem os recursos da elétrica, eletrônica, da mecânica e da ciência da computação. http://pt.wikipedia.org/wiki/Engenharia_de_controle_e_autom ação