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.