UNIVERSIDADEDELISBOA FACULDADEDECIÊNCIAS DEPARTAMENTODEINFORMÁTICA Byzantine Fault-Tolerant Agreement Protocols for Wireless Ad hoc Networks Henrique Lícias Senra Moniz DOUTORAMENTOEMINFORMÁTICA ESPECIALIDADECIÊNCIADACOMPUTAÇÃO 2010 UNIVERSIDADEDELISBOA FACULDADEDECIÊNCIAS DEPARTAMENTODEINFORMÁTICA Byzantine Fault-Tolerant Agreement Protocols for Wireless Ad hoc Networks Henrique Lícias Senra Moniz DOUTORAMENTOEMINFORMÁTICA ESPECIALIDADECIÊNCIADACOMPUTAÇÃO 2010 TeseorientadapeloProf. DoutorNunoFuentecillaMaiaFerreiraNeves epeloProf. DoutorMiguelNunoDiasAlvesPupoCorreia Abstract The thesis investigates the problem of fault- and intrusion-tolerant con- sensus in resource-constrained wireless ad hoc networks. This is a fun- damental problem in distributed computing because it abstracts the need to coordinate activities among various nodes. It has been shown to be a buildingblockforseveralotherimportantdistributedcomputingproblems likestate-machinereplicationandatomicbroadcast. The thesis begins by making a thorough performance assessment of exis- ting intrusion-tolerant consensus protocols, which shows that the perfor- mance bottlenecks of current solutions are in part related to their system modeling assumptions. Based on these results, the communication fai- luremodelisidentifiedasamodelthatsimultaneouslycapturesthereality of wireless ad hoc networks and allows the design of efficient protocols. Unfortunately, the model is subject to an impossibility result stating that thereisnodeterministicalgorithmthatallowsnnodestoreachagreement ifmorethann−2omissiontransmissionfailurescanoccurinacommuni- cation step. This result is valid even under strict timing assumptions (i.e., asynchronoussystem). The thesis applies randomization techniques in increasingly weaker vari- ants of this model, until an efficient intrusion-tolerant consensus proto- col is achieved. The first variant simplifies the problem by restricting the number of nodes that may be at the source of a transmission failure at eachcommunicationstep. Analgorithmisdesignedthattoleratesf dyna- mic nodes at the source of faulty transmissions in a system with a total of n ≥ 3f +1nodes. The second variant imposes no restrictions on the pattern of transmission failures. The proposed algorithm effectively circumvents the Santoro- Widmayerimpossibilityresultforthefirsttime. Itallowsk outofnnodes todecidedespiteσ ≤ (cid:100)n(cid:101)(n−k)+k−2omissionfailurespercommunica- 2 tion step. This algorithm also has the interesting property of guaranteeing safetyduringarbitraryperiodsofunrestrictedmessageloss. The final variant shares the same properties of the previous one, but re- laxes the model in the sense that the system is asynchronous and that a static subset of nodes may be malicious. The obtained algorithm, called Turquois,admitsf < n maliciousnodes,andensuresprogressincommu- 3 nication steps where σ ≤ (cid:100)n−f(cid:101)(n − k − f) + k − 2. The algorithm is 2 subject to a comparative performance evaluation against other intrusion- tolerant protocols. The results show that, as the system scales, Turquois outperformstheotherprotocolsbymorethananorderofmagnitude. Keywords: Distributed systems, dependability, security, fault tolerance intrusiontolerance,agreement,consensus,wirelessadhocnetworks Resumo Esta tese investiga o problema do consenso tolerante a faltas acidentais e maliciosas em redes ad hoc sem fios. Trata-se de um problema funda- mental que captura a essência da coordenação em actividades envolvendo vários nós de um sistema, sendo um bloco construtor de outros importan- tes problemas dos sistemas distribuídos como a replicação de máquina de estadosouadifusãoatómica. A tese começa por efectuar uma avaliação de desempenho a protocolos tolerantes a intrusões já existentes na literatura. Os resultados mostram que as limitações de desempenho das soluções existentes estão em parte relacionadas com o seu modelo de sistema. Baseado nestes resultados, é identificadoomodelodefalhasdecomunicaçãocomoummodeloquesi- multaneamente permite capturar o ambiente das redes ad hoc sem fios e projectar protocolos eficientes. Todavia, o modelo é restrito por um resul- tado de impossibilidade que afirma não existir algoritmo algum que per- mitaannóschegaramaacordonumsistemaqueadmitamaisdoquen−2 transmissões omissas num dado passo de comunicação. Este resultado é válidomesmosobforteshipótesestemporais(i.e.,emsistemassíncronos) A tese aplica técnicas de aleatoriedade em variantes progressivamente mais fracas do modelo até ser alcançado um protocolo eficiente e tole- rante a intrusões. A primeira variante do modelo, de forma a simplificar o problema, restringe o número de nós que estão na origem de transmis- sões faltosas. É apresentado um algoritmo que tolera f nós dinâmicos na origem de transmissões faltosas em sistemas com um total de n ≥ 3f +1 nós. A segunda variante do modelo não impõe quaisquer restrições no pa- drão de transmissões faltosas. É apresentado um algoritmo que contorna efectivamenteoresultadodeimpossibilidadeSantoro-Widmayerpelapri- meira vez e que permite a k de n nós efectuarem progresso nos passos de comunicação em que o número de transmissões omissas seja σ ≤ (cid:100)n(cid:101)(n−k)+k −2. O algoritmo possui ainda a interessante propriedade 2 de tolerar períodos arbitrários em que o número de transmissões omissas sejasuperioraσ. A última variante do modelo partilha das mesmas características da va- riante anterior, mas com pressupostos mais fracos sobre o sistema. Em particular,assume-sequeosistemaéassíncronoequeumsubconjuntoes- tático dos nós pode ser malicioso. O algoritmo apresentado, denominado Turquois, admite f < n nós maliciosos e assegura progresso nos passos 3 de comunicação em que σ ≤ (cid:100)n−f(cid:101)(n−k −f)+k −2. O algoritmo é 2 sujeito a uma análise de desempenho comparativa com outros protocolos na literatura. Os resultados demonstram que, à medida que o número de nós no sistema aumenta, o desempenho do protocolo Turquois ultrapassa osrestantesemmaisdoqueumaordemdemagnitude. Palavras Chave: Sistemas distribuídos, confiabilidade, segurança, tole- rância a faltas, tolerância a intrusões, acordo, consenso, redes ad hoc sem fios Resumo Alargado Asredesdecomunicaçãosemfiosassumemumpapelcadavezmaispreponderante na sociedade. As redes ad hoc sem fios, em particular, representam uma tecnologia emergenteque,nostemposrecentes,temsidoumimportantefocodeinvestigaçãopor parte da comunidade científica internacional. Este tipo de redes existe sem nenhuma formadecontrolocentralizado. Aestasnãoseaplicaanoçãodeinfra-estruturaetodos osnósdarede,emprincípio,desempenhamigualpapelnasuaoperação. Estanatureza descentralizadadasredesadhocsemfiostorna-asmuitoapropriadasparasituaçõesde emergência, tais como desastres naturais ou conflitos militares, em que a dependência numúnicopontodefalha,nãosónãoédesejável,comotalvezinalcançável. Um tema recorrente em muitos cenários de comunicação ad hoc é o da coorde- nação local. Dispositivos sem fios, que se encontrem a uma distância que permita a comunicaçãodirectaentresi,necessitamfrequentementedesincronizarassuasacções de modo a executarem uma qualquer tarefa distribuída. Esta situação não acontece por mero acaso. A proximidade entre os nós geralmente implica que estes tenham que partilhar um determinado recurso. Nesse caso, alguma forma de coordenação é necessária para que o acesso a esse recurso seja efectuado de forma justa e eficiente. O recurso pelo qual os nós do sistema competem pode ser, por exemplo: o espectro electromagnético, onde os nós tentam sincronizar os seus períodos de transmissão de maneira a que não hajam sobreposições (Clementi et al., 2001; Kowalski, 2005); uma estrada, onde um conjunto de veículos semi-automatizados tenta decidir qual a ordem pela qual atravessam um cruzamento (Misener et al., 2005); ou o espaço aéreo, onde váriosaviõescoordenamassuasmanobrasdemodoaevitaremcolisões(Brown,2007; Monizetal.,2009). Os nós de um sistema também necessitam muito frequentemente de se sincroni- zar de modo a maximizar os seus recursos individuais. Por exemplo, numa rede de sensores,osnós,tipicamente,organizam-seemgruposcompostospornósfisicamente próximosunsdosoutros,emquecadagrupoégeridoporumnólíderquecoordenacer- tas operações como o encaminhamento ou a agregação de dados (Dong & Liu, 2009; Kuhn et al., 2006). Esta tarefa de gestão de um grupo pode exigir um consumo de energiasubstancialnonólídere/ouaumentarasuaprobabilidadedefalha. Demodoa balancearacargaegarantirtolerânciaafaltas,osnóspodemnecessitardesecoordenar paraelegerumnovolíderperiodicamente. A complexidade relacionada com estes cenários de coordenação local pode ser abstraída através de uma primitiva de consenso. Este é um problema fundamental dos sistemas distribuídos. Informalmente, pode ser definido do seguinte modo: cada um dos processos que compõe o sistema propõe um valor e todos os processos têm que decidir um valor comum baseado nos valores propostos. Esta definição captura a essência da coordenação, que passa, fundamentalmente, pelos processos chegarem a acordo sobre uma determinada informação. Muitos tipos de actividades coordenadas num sistema distribuído podem ser reduzidos ao problema do consenso. Por exemplo, o consenso foi demonstrado ser equivalente a outras operações distribuídas como a replicação de máquina de estados (Schneider, 1990) ou a difusão atómica (Correia etal.,2006). Apesar da sua definição simples, o consenso em sistemas tolerantes a faltas está longe de ser um problema trivial. De facto, dependendo dos pressupostos que são feitos sobre o sistema, pode dar-se o caso de simplesmente não existir uma solução determinista para o consenso (Fischer et al., 1985; Santoro & Widmeyer, 1989). Por exemplo, o resultado de impossibilidade FLP (Fischer et al., 1985) mostra que não existe nenhuma solução determinista para o problema do consenso em sistemas assín- cronos mesmo que se admita que apenas um nó do sistema pode falhar. Um sistema assíncrono é caracterizado por não assumir quaisquer pressupostos sobre o seu tempo deexecução,demodoquenãoépossívelrecorrer,porexemplo,amecanismostempo- raisparadetectarfalhasdenós. A tese foca-se no problema do consenso tolerante a faltas acidentais e maliciosas emredesadhocsemfios. Estesambientesapresentamvariadosdesafiosàcomputação de tarefas distribuídas. Os seus recursos são tipicamente restritos, tanto em termos de poder computacional como de comunicação. A falta de fiabilidade inerente às comu- nicações por rádio também representa outro desafio significativo. Fenómenos ambi- entais tais como condições atmosféricas adversas, interferência de rádio, ou colisões nas transmissões, contribuem para a perda de sinal. A própria natureza dos nós que compõem estas redes, que são muitas vezes móveis, também pode levar a períodos
Description: