Análise Comparativa de Protocolos de Segurança para Redes de
Transcrição
Análise Comparativa de Protocolos de Segurança para Redes de
Análise Comparativa de Protocolos de Segurança para Redes de Sensores Sem Fio Mateus A. S. Santos1 , Routo Terada1 1 Instituto de Matemática e Estatı́stica – Universidade de São Paulo (USP) Rua do Matão, 1010 – São Paulo – SP – Brasil {mateusss,rt} @ime.usp.br Abstract. Wireless Sensor Networks (WSNs) come with challenges not faced in the most modern networks so far. The implementation of efficient security mechanisms in low storage capacity, low-power and low-processing devices are difficult. In this work, we evaluate and compare two WSNs security protocols that enjoy significant attention in the comunity. Using a WSNs simulator, we performed experiments in order to accurately estimate the energy consumption of the sensor devices. Resumo. As redes de sensores sem fio (RSSF) apresentam desafios até então inexistentes na maioria das redes modernas. No quesito segurança, uma dificuldade é a implementação de mecanismos eficientes em vista da baixa capacidade de armazenamento, processamento e bateria dos dispositivos da rede. Neste trabalho, avaliamos e comparamos dois protocolos de segurança para RSSFs que possuem grande atenção da comunidade. Com o uso de um simulador de RSSFs, realizamos experimentos que estimam com precisão o consumo de energia de dispositivos sensores. 1. Introdução O desenvolvimento tecnológico na área da eletrônica e das redes de comunicação permitiu a produção de dispositivos como os nós sensores. Esses pequenos equipamentos de baixo custo possuem diversas funções (sensoreamento, processamento, armazenamento e comunicação) e formam o principal ingrediente das redes de sensores sem fio (RSSFs). O crescimento do número de aplicações para RSSFs [Bai et al. 2004, Bokareva et al. 2006] e a limitada capacidade de processamento, armazenamento e energia dos dispositivos da rede criam um desafio para manter a segurança contra ataques de adversários com amplo poder computacional. Isto torna a escolha de um protocolo um processo complexo, já que aumentar a segurança implica em reduzir o tempo de funcionamento da bateria de dispositivos devido ao aumento do consumo de energia, além de outras possı́veis implicações como queda de desempenho de dispositivos e limitação do número de participantes da rede. O protocolo de segurança TinySec [Karlof et al. 2004] foi projetado especificamente para RSSFs que utilizam o modelo de comunicação unicast. Esse protocolo serviu de inspiração para o MiniSec-U [Luk et al. 2007]. Alguns trabalhos avaliam e comparam de forma geral a segurança ou o impacto desses protocolos [Boyle and Newe 2008, Zia et al. 2007, Luk et al. 2007]; outros, abordam uma série de primitivas criptográficas atrativas em RSSFs [Eisenbarth et al. 2007, Guimaraes et al. 2005]. Entretanto, há carência de trabalhos que avaliam e comparam os protocolos através da simulação precisa de uma rede com muitos dispositivos sensores. Este trabalho avalia e compara os protocolos unicast TinySec e MiniSec-U em relação ao consumo de energia dos dispositivos de uma RSSFs de grande escala. 2. Segurança em Redes de Sensores Implementações de segurança implicam em overheads que podem representar custos elevados em uma rede com equipamentos microeletrônicos. Alguns algoritmos criptográficos baseados em assinaturas digitais, por exemplo, podem requerer um overhead de comunicação de 1000 bytes por pacote [Perrig et al. 2001], o que seria impraticável em RSSFs, onde cada pacote possui aproximadamente 30 bytes de tamanho útil. Mesmo algoritmos muito utilizados atualmente como o RSA [Rivest et al. 1978] e Diffie-Hellman [Diffie and Hellman 1976] não seriam atrativos em RSSFs porque requerem um espaço de memória muito grande para os dispositivos da rede [Perrig et al. 2001]. Além disso, o tamanho dos pacotes da rede, o consumo de espaço em disco e o número de operações elementares dos dispositivos exercem grande influência no consumo de energia [Hill et al. 2000]. Portanto a escolha de algoritmos eficientes em consumo de tempo, espaço e energia é extremamente importante em uma RSSFs e torna o quesito segurança um desafio caracterı́stico destas redes. 2.1. Primitivas de Segurança A seguir, apresentamos algumas das principais primitivas criptográficas que oferecem as propriedades de confidencialidade e autenticidade de mensagem. Os protocolos estudados neste trabalho utilizam essas primitivas. 2.1.1. Cifras de Bloco e Modos de Operação As cifras de bloco são transformações realizadas em blocos de texto legı́vel, sob o controle de uma chave. Essas transformações produzem blocos de texto cifrado. Uma função que produz um texto cifrado a partir de um texto legı́vel é chamada de função de cifragem, sendo a sua inversa a função de decifragem. Uma cifra de bloco geralmente é utilizada com um modo de operação, o qual é um algoritmo iterativo que auxilia na cifragem segura de cadeias longas de texto legı́vel. A seguir, apresentamos os modos de operação utilizados pelos protocolos estudados. Offset CodeBook (OCB). Este modo de operação, apresentado em [Rogaway et al. 2001], oferece autenticação e integridade da seguinte forma: seja M uma mensagem de tamanho arbitrário que se deseja cifrar, K a chave da cifra de bloco e N um nonce. O algoritmo gera C ← OCBK (M, N ) e uma tag de autenticação a partir de M e parte de C (pode haver um valor H opcional), ou seja, o resultado final é a mensagem (C, tag). Um receptor deve decifrar C para obter M e recalcular o valor da tag para decidir se aceita a mensagem recebida. Cipher Block Chaining. No modo CBC [Dworkin 2001] cada bloco de texto legı́vel é somado (operação ou-exclusivo) com o bloco anterior cifrado. O primeiro bloco de texto legı́vel deve ser somado com um VI. A seguir, denotamos o modo CBC. Sejam P1 , P2 , ..., Pn sequências de blocos de texto legı́vel e C1 , C2 , ..., Cn , blocos cifrados. Temos que: Cifragem: C1 ← EK (P1 ⊕ V I) Cj ← EK (Pj ⊕ Cj−1 ), j = 2, ..., n Decifragem: P1 ← (DK (C1 ) ⊕ V I) Pj ← (DK (Cj ) ⊕ Cj−1 ), j = 2, ..., n 2.1.2. Message Authentication Codes (MACs) O MAC é um algoritmo de autenticação que recebe como entrada uma chave e uma mensagem em blocos, e devolve uma tag de autenticação. Em um algoritmo do tipo MAC a tag também é conhecida como valor MAC, o qual permite que a verificação de autenticidade de uma mensagem seja feita somente pelo possuidor da chave secreta. A figura 1 ilustra o cálculo do valor MAC através do uso de uma cifra de bloco E no modo CBC, o que é chamado de CBC-MAC [Bellare et al. 2000]. Figura 1. Cálculo do valor MAC através de uma cifra de bloco no modo CBC. 3. Protocolos de Segurança Unicast A tabela 1 apresenta os principais mecanismos utilizados pelos protocolos estudados para fornecer segurança durante trocas de mensagens entre nós da rede. A versão do protocolo TinySec que foi estudada é chamada de TinySec-AE (Authenticated Encryption). Tabela 1. Principais Propriedades de Segurança dos Protocolos TinySec e MiniSec-U. Propriedade TinySec-AE MiniSec-U Confidencialidade CBC-Skipjack OCB-Skipjack Integridade CBC-MAC OCB 3.1. Formatos de Pacote A figura 2 apresenta o formato de pacote de cada protocolo estudado. 4. Simulação do Consumo de Energia dos Protocolos TinySec e MiniSec-U 4.0.1. Metodologia Todos os resultados de simulações são baseados na plataforma Mica2 [Alliance 2008]. Este dispositivo sensor foi desenvolvido pela Universidade de Berkeley e comercializado Figura 2. Formatos de pacote do TinySec (a), MiniSec-U (b). pela Crossbow Technology. O Mica2 utiliza o microcontrolador ATmega128L e possui 128 KB de memória de programa (FLASH), 4 KB de memória de dados (SRAM) e 512 KB de memória de armazenamento. O PowerTOSSIM [Shnayder et al. 2004] foi utilizado para estimar o consumo de energia dos dispositivos sensores. Esta ferramenta fornece uma medida com precisão entre 0,45% e 13% da energia real de um dispositivo que executa uma aplicação idêntica e opera juntamente com o simulador TOSSIM [Levis et al. 2003]. Todas essas ferramentas rodam sob um sistema operacional baseado em eventos, o TinyOS [Levis et al. 2005], o qual foi utilizado com a versão 1.1. Alguns parâmetros utilizados durante a simulação foram o seguintes: blocos de texto legı́vel com tamanho de 64 bits, chaves critográficas com tamanho de 80 bits, contador parcial do MiniSec-U com tamanho de 3 bits. A aplicação Surge, incluı́da com o TinyOS 1.1, foi adaptada e utilizada na simulação por dois principais motivos: adota o modelo multihop de comunicação e possui registro de apenas 3% de erro entre energia real e simulada [Shnayder et al. 2004]. O modelo multihop é muito utilizado em redes de sensores. Dois nós da rede que necessitam trocar mensagens podem estar distantes, o que dificulta a comunicação direta. Neste caso um ou mais nós intermediários recebem e enviam as mensagens até que elas cheguem ao destinatário. A aplicação Surge funciona da seguinte forma: os nós da rede efetuam leituras com um foto sensor e as enviam para a estação base através da árvore de roteamento, a qual varia com o tempo (a menos da raiz que é a estação base, há variações consideráveis no posicionamento dos nós). É enviada apenas uma mensagem a cada dois segundos, pois uma alta taxa de envio poderia congestionar a fila de mensagens mantida pela aplicação e isto comprometeria os resultados. 4.0.2. Resultados dos Experimentos Realizamos três simulações. Cada simulação de uma RSSF foi configurada para um tempo de 1200 segundos com o uso de apenas um protocolo por vez. O TinyOS é o único que não apresenta uma camada de segurança, ou seja, não possui os overheads dos mecanismos criptográficos. As redes simuladas possuem 10, 50 e 100 nós, sendo um nó de cada configuração reservado como estação base. Além disso, consideramos que os nós são estacionários, distribuı́dos de forma aleatória e localizados em uma única célula (todos estão no mesmo raio de alcance do rádio). Apesar disso, há uma árvore dinâmica de roteamento em que um nó só envia mensagens para o seu pai atual na árvore com possibilidades de erros. (a) (b) (c) Figura 3. PowerTOSSIM: Consumo Total de Energia em uma RSSF com 10 (a), 50 (b) e 100 (c) Nós após 1200 segundos. Observamos na figura 3 que o consumo de energia total, em Joules, com o uso do protocolo MiniSec-U foi maior que aquele apresentado com o uso do TinySec em uma rede com 10 e 50 nós. Com 100 nós observamos o contrário, ou seja, o uso do protocolo MiniSec-U representou menor consumo se comparado com o TinySec. Analisando os dados experimentais1 foi possı́vel entender que o uso do MiniSec-U implica em um consumo de energia alto para poucos nós da rede. Isto significa que apesar da maioria dos nós apresentar baixo consumo de energia, “picos” de consumo de alguns nós elevam o valor total de energia consumido. Logo, quanto maior o número de nós, maior a chance do protocolo MiniSec-U apresentar menor consumo em relação ao TinySec, já que poucos nós apresentam um consumo elevado. Isto explica o menor consumo do MiniSec-U apenas na simulação de 100 nós se comparado com o TinySec. A figura 4 apresenta a média do consumo de energia dos nós, em milijoules, com uma alteração: foram descartados de cada protocolo apenas os nós que apresentaram consumo elevado2 . Esta figura é interessante, pois mostra que evitar um consumo elevado de alguns nós implicaria em maior eficiência em consumo de energia do MiniSec-U, se comparado com o protocolo TinySec. Neste cenário, duas questões são importantes dentro do contexto do protocolo MiniSec-U: 1 Detalhes podem ser obtidos em http://www.ime.usp.br/˜mateusss. Definimos como consumo elevado os nós que apresentaram um consumo de energia de pelo menos a média mais duas vezes o desvio padrão. 2 Figura 4. PowerTOSSIM: Média do consumo de energia dos dispositivos em RSSFs com 10, 50 e 100 nós após 1200 segundos com a remoção dos nós que apresentaram picos de consumo Figura 5. Espaço de Memória RAM e ROM, em KBytes, ocupados pela aplicação compilada com cada protocolo de segurança (plataforma Mica2) 1. O motivo da existência de picos de consumo 2. Como evitar os picos de consumo O consumo elevado de alguns nós pode acontecer porque o protocolo MiniSecU utiliza um contador sincronizado entre um remetente e um destinatário. Apesar deste conceito reduzir o tamanho do cabeçalho do pacote e portanto economizar energia durante a maioria das trocas de mensagens, pode haver situações em que o contador compartilhado não se mantenha atualizado. Isto requer maior atividade de CPU para que seja possı́vel decifrar uma mensagem. Algumas vezes isto requer até maior atividade de rede ou o pior, um pacote pode não ser decifrado. Evitar o consumo elevado de alguns nós da rede significa evitar a perda de sincronia do contador. Isto pode ser feito através do aumento do tamanho do contador, o que implica em aumentar o tamanho do pacote. Portanto esta solução também aumenta o consumo de energia de todos os nós. Em relação ao espaço utilizado por cada protocolo, a figura 5 apresenta as quantidades de memória RAM e ROM que devem ser alocadas em um sensor da plataforma Mica2. Esses valores levam em conta o espaço consumido pela própria aplicação e pelos componentes necessários para o seu funcionamento. 5. Conclusões e Trabalhos Futuros Neste trabalho comparamos dois importantes protocolos de segurança projetados especificamente para RSSFs. As simulações de consumo de energia auxiliaram no estudo dos overheads gerados pelos protocolos. Teoricamente, o TinySec apresenta grande potencial de consumo de energia por possuir maior tamanho de pacote, mas os experimentos mostraram que, em uma rede com poucos nós, o MiniSec-U é que apresenta maior média de consumo por dispositivo sensor. Já em uma rede com pelo menos 50 nós, esta situação se inverte, pois os overheads do MiniSec-U se tornam menos significativos. Este trabalho apresentou resultados de protocolos de segurança baseados em criptografia simétrica. Este modelo foi escolhido principalmente porque permite a construção de algoritmos eficientes em consumo de energia. Com a evolução dos estudos de mecanismos de criptografia de chave pública, é possı́vel que se desenvolva novos tipos de protocolos que sejam atrativos em redes de sensores. Por isso, seria interessante um projeto de pesquisa que não só trate esta questão, mas também compare os modelos simétricos e assimétricos. Em relação ao número de simulações, trabalhos anteriores apresentam informações de consumo de energia com o uso de apenas um dispositivo, em geral através da medição do envio de apenas um pacote [Karlof et al. 2004, Luk et al. 2007]. Como este trabalho utilizou apenas três simulações com até 100 nós sensores, seria interessante uma abordagem com muitas simulações e que observe resultados incrementando em um ou dois bits o contador parcial do MiniSec-U (os demais parâmetros são definidos pelos protocolos). Além disso, tempos maiores de simulação seriam interessantes. Outra proposta para trabalhos futuros é o estudo de mecanismos de gerência de chaves criptográficas para os nós sensores. Referências Alliance, Z. (2008). Mica2 wireless measurement system. Technical Report Tech. Rep. 6020-0042-08, Crossbow Technology. Bai, H., Atiquzzaman, M., and Lilja, D. (2004). Wireless sensor network for aircraft health monitoring. In BROADNETS ’04: Proceedings of the First International Conference on Broadband Networks, pages 748–750, Washington, DC, USA. IEEE Computer Society. Bellare, M., Kilian, J., and Rogaway, P. (2000). The security of the cipher block chaining message authentication code. J. Comput. Syst. Sci., 61(3):362–399. Bokareva, T., Hu, W., Kanhere, S., Ristic, B., Gordon, N., Bessell, T., Rutten, M., and Jha, S. (2006). Wireless sensor networks for battlefield surveillance. Boyle, D. and Newe, T. (2008). Securing wireless sensor networks: Security architectures. JNW, 3(1):65–77. Diffie, W. and Hellman, M. E. (1976). New directions in cryptography. IEEE Transactions on Information Theory, IT-22(6):644–654. Dworkin, M. (2001). Nist special publication 800-38a. recommendation for block cipher modes of operation, methods and techniques. Disponivel em http://www.itl.nist.gov/publications/publications.cgi. Eisenbarth, T., Kumar, S., Paar, C., Poschmann, A., and Uhsadel, L. (2007). A survey of lightweight-cryptography implementations. IEEE Des. Test, 24(6):522–533. Guimaraes, G., Souto, E., Sadok, D., and Kelner, J. (2005). Evaluation of security mechanisms in wireless sensor networks. In ICW ’05: Proceedings of the 2005 Systems Communications, pages 428–433, Washington, DC, USA. IEEE Computer Society. Hill, J., Szewczyk, R., Woo, A., Hollar, S., Culler, D., and Pister, K. (2000). System architecture directions for networked sensors. In ASPLOS-IX: Proceedings of the ninth international conference on Architectural support for programming languages and operating systems, pages 93–104, New York, NY, USA. ACM. Karlof, C., Sastry, N., and Wagner, D. (2004). Tinysec: a link layer security architecture for wireless sensor networks. In SenSys ’04: Proceedings of the 2nd international conference on Embedded networked sensor systems, pages 162–175, New York, NY, USA. ACM. Levis, P., Lee, N., Welsh, M., and Culler, D. (2003). Tossim: accurate and scalable simulation of entire tinyos applications. In SenSys ’03: Proceedings of the 1st international conference on Embedded networked sensor systems, pages 126–137, New York, NY, USA. ACM. Levis, P., Madden, S., Polastre, J., Szewczyk, R., Whitehouse, K., Woo, A., Gay, D., Hill, J., Welsh, M., Brewer, E., and Culler, D. (2005). Tinyos: An operating system for sensor networks. pages 115–148. Luk, M., Mezzour, G., Perrig, A., and Gligor, V. (2007). Minisec: a secure sensor network communication architecture. In IPSN ’07: Proceedings of the 6th international conference on Information processing in sensor networks, pages 479–488, New York, NY, USA. ACM. Perrig, A., Szewczyk, R., Wen, V., Culler, D., and Tygar, J. D. (2001). Spins: security protocols for sensor networks. In MobiCom ’01: Proceedings of the 7th annual international conference on Mobile computing and networking, pages 189–199, New York, NY, USA. ACM. Rivest, R. L., Shamir, A., and Adleman, L. (1978). A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM, 21(2):120–126. Rogaway, P., Bellare, M., Black, J., and Krovetz, T. (2001). Ocb: a block-cipher mode of operation for efficient authenticated encryption. In CCS ’01: Proceedings of the 8th ACM conference on Computer and Communications Security, pages 196–205, New York, NY, USA. ACM. Shnayder, V., Hempstead, M., rong Chen, B., Allen, G. W., and Welsh, M. (2004). Simulating the power consumption of large-scale sensor network applications. In SenSys ’04: Proceedings of the 2nd international conference on Embedded networked sensor systems, pages 188–200, New York, NY, USA. ACM. Zia, T., Zomaya, A., and Ababneh, N. (2007). Evaluation of overheads in security mechanisms in wireless sensor networks. In SENSORCOMM ’07: Proceedings of the 2007 International Conference on Sensor Technologies and Applications, pages 181–185, Washington, DC, USA. IEEE Computer Society.