Intrusion Tolerant Consensus in Wireless Ad hoc Networks Henrique Moniz, Nuno Neves, Miguel Correia LASIGE Dep. Informática da Faculdade de Ciências Universidade.

Slides:



Advertisements
Similar presentations
The Contest between Simplicity and Efficiency in Asynchronous Byzantine Agreement Allison Lewko The University of Texas at Austin TexPoint fonts used in.
Advertisements

Fault Tolerance. Basic System Concept Basic Definitions Failure: deviation of a system from behaviour described in its specification. Error: part of.
Impossibility of Distributed Consensus with One Faulty Process
CS 542: Topics in Distributed Systems Diganta Goswami.
A General Characterization of Indulgence R. Guerraoui EPFL joint work with N. Lynch (MIT)
Failure Detection The ping-ack failure detector in a synchronous system satisfies – A: completeness – B: accuracy – C: neither – D: both.
6.852: Distributed Algorithms Spring, 2008 Class 7.
Failure detector The story goes back to the FLP’85 impossibility result about consensus in presence of crash failures. If crash can be detected, then consensus.
Byzantine Generals Problem: Solution using signed messages.
Data Consistency in Sensor Networks: Secure Agreement Fatemeh Borran Supervised by: Panos Papadimitratos, Marcin Poturalski Prof. Jean-Pierre Hubaux IC-29.
CPSC 668Set 10: Consensus with Byzantine Failures1 CPSC 668 Distributed Algorithms and Systems Fall 2009 Prof. Jennifer Welch.
1 Principles of Reliable Distributed Systems Lectures 11: Authenticated Byzantine Consensus Spring 2005 Dr. Idit Keidar.
1 Principles of Reliable Distributed Systems Lecture 6: Synchronous Uniform Consensus Spring 2005 Dr. Idit Keidar.
1 Principles of Reliable Distributed Systems Lecture 3: Synchronous Uniform Consensus Spring 2006 Dr. Idit Keidar.
 Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 7: Failure Detectors.
Asynchronous Consensus (Some Slides borrowed from ppt on Web.(by Ken Birman) )
CPSC 668Set 9: Fault Tolerant Consensus1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
CPSC 668Set 9: Fault Tolerant Consensus1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 6: Synchronous Byzantine.
1 Fault-Tolerant Consensus. 2 Failures in Distributed Systems Link failure: A link fails and remains inactive; the network may get partitioned Crash:
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 5: Synchronous Uniform.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 4 – Consensus and reliable.
 Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 6: Impossibility.
Reaching Approximate Agreement in an Asynchronous Environment And what does it have to do with the Witness Protection Program.
Distributed Algorithms: Agreement Protocols. Problems of Agreement l A set of processes need to agree on a value (decision), after one or more processes.
Distributed Systems Tutorial 4 – Solving Consensus using Chandra-Toueg’s unreliable failure detector: A general Quorum-Based Approach.
Systems of Distributed systems Module 2 - Distributed algorithms Teaching unit 2 – Properties of distributed algorithms Ernesto Damiani University of Bozen.
 Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 7: Failure Detectors.
Efficient Algorithms to Implement Failure Detectors and Solve Consensus in Distributed Systems Mikel Larrea Departamento de Arquitectura y Tecnología de.
Consensus and Related Problems Béat Hirsbrunner References G. Coulouris, J. Dollimore and T. Kindberg "Distributed Systems: Concepts and Design", Ed. 4,
Paxos Made Simple Jinghe Zhang. Introduction Lock is the easiest way to manage concurrency Mutex and semaphore. Read and write locks. In distributed system:
1 A Modular Approach to Fault-Tolerant Broadcasts and Related Problems Author: Vassos Hadzilacos and Sam Toueg Distributed Systems: 526 U1580 Professor:
Distributed Consensus Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit.
Securing Every Bit: Authenticated Broadcast in Wireless Networks Dan Alistarh, Seth Gilbert, Rachid Guerraoui, Zarko Milosevic, and Calvin Newport.
Bringing Paxos Consensus in Multi-agent Systems Andrei Mocanu Costin Bădică University of Craiova.
Distributed Algorithms – 2g1513 Lecture 9 – by Ali Ghodsi Fault-Tolerance in Distributed Systems.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 10 Instructor: Haifeng YU.
Consensus and Its Impossibility in Asynchronous Systems.
Ch11 Distributed Agreement. Outline Distributed Agreement Adversaries Byzantine Agreement Impossibility of Consensus Randomized Distributed Agreement.
Practical Byzantine Fault Tolerance
Byzantine fault-tolerance COMP 413 Fall Overview Models –Synchronous vs. asynchronous systems –Byzantine failure model Secure storage with self-certifying.
BFTW 3 workshop (Sep 22, 2009)© 2009 Andreas Haeberlen 1 The Fault Detection Problem Andreas Haeberlen MPI-SWS Petr Kuznetsov TU Berlin / Deutsche Telekom.
Random Graph Generator University of CS 8910 – Final Research Project Presentation Professor: Dr. Zhu Presented: December 8, 2010 By: Hanh Tran.
The Byzantine Generals Problem Leslie Lamport, Robert Shostak, and Marshall Pease ACM TOPLAS 1982 Practical Byzantine Fault Tolerance Miguel Castro and.
CS 425/ECE 428/CSE424 Distributed Systems (Fall 2009) Lecture 9 Consensus I Section Klara Nahrstedt.
Chap 15. Agreement. Problem Processes need to agree on a single bit No link failures A process can fail by crashing (no malicious behavior) Messages take.
SysRép / 2.5A. SchiperEté The consensus problem.
Byzantine Fault Tolerance
Agreement in Distributed Systems n definition of agreement problems n impossibility of consensus with a single crash n solvable problems u consensus with.
1 Fault tolerance in distributed systems n Motivation n robust and stabilizing algorithms n failure models n robust algorithms u decision problems u impossibility.
Failure Detectors n motivation n failure detector properties n failure detector classes u detector reduction u equivalence between classes n consensus.
Fault-Tolerant Broadcast Terminology: broadcast(m) a process broadcasts a message to the others deliver(m) a process delivers a message to itself 1.
DISTRIBUTED ALGORITHMS Spring 2014 Prof. Jennifer Welch Set 9: Fault Tolerant Consensus 1.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 9 Instructor: Haifeng YU.
1 Fault-Tolerant Consensus. 2 Communication Model Complete graph Synchronous, network.
Fen Hou 、 Lin X. Cai, University of Waterloo Xuemin Shen, Rutgers University Jianwei Huang, Northwestern University IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY,
Fundamentals of Fault-Tolerant Distributed Computing In Asynchronous Environments Paper by Felix C. Gartner Graeme Coakley COEN 317 November 23, 2003.
Unreliable Failure Detectors for Reliable Distributed Systems Tushar Deepak Chandra Sam Toueg Presentation for EECS454 Lawrence Leinweber.
1 AGREEMENT PROTOCOLS. 2 Introduction Processes/Sites in distributed systems often compete as well as cooperate to achieve a common goal. Mutual Trust/agreement.
The consensus problem in distributed systems
When Is Agreement Possible
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Agreement Protocols CS60002: Distributed Systems
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Sisi Duan Assistant Professor Information Systems
Presentation transcript:

Intrusion Tolerant Consensus in Wireless Ad hoc Networks Henrique Moniz, Nuno Neves, Miguel Correia LASIGE Dep. Informática da Faculdade de Ciências Universidade de Lisboa

Consensus

Abstracting the Ad hoc Network

Environment

Communication Medium open and natural broadcasting environment where the cost of transmitting to multiple nodes can be the same of transmitting to a single one

Model n nodes communicate by broadcasting messages Dynamic omission transmission faults Byzantine process failures Asynchronous system

Impossibility Results Fischer, Lynch and Paterson, Impossibility of Distributed Consensus with One Faulty Process, 1985 Consensus is impossible in an asynchronous system if only one process can crash Santoro and Widmayer, Time is not a Healer, 1989 Consensus is impossible in a synchronous system if n−2 transmission omission faults can occur per communication step

Impossibility Results Fischer, Lynch and Paterson, Impossibility of Distributed Consensus with One Faulty Process, 1985 Consensus is impossible in an asynchronous system if only one process can crash Santoro and Widmayer, Time is not a Healer, 1989 Consensus is impossible in a synchronous system if n−2 transmission omission faults can occur per communication step

The Turquois Protocol

Desirable Features Ensure liveness when the number of omissions is within a certain upper bound σ Maintain safety despite any number of omissions Ensure both liveness and safety if the number of Byzantine nodes is within an upper bound f Terminate in three communication rounds in executions with benign fault patterns

k -consensus Validity Agreement Termination k correct processes decide with (asymptotic) probability 1 no two correct processes decide different values no correct process decides a value that wasn’t proposed by some correct process k out of n processes decide on a binary value 0 or 1

ConvergeLock Phase Decide phase mod 3 = 1 phase mod 3 = 2 phase mod 3 = 0

ConvergeLock Phase Decide phase mod 3 = 1 phase mod 3 = 2 phase mod 3 =

ConvergeLock Phase Decide phase mod 3 = 1 phase mod 3 = 2 phase mod 3 = 0 Processes increment their phase if they receive messages from a strong majority (more than [n+f]/2 ) of processes with the same phase value or from a process with a higher phase value

ConvergeLock Phase Decide phase mod 3 = 1 phase mod 3 = 2 phase mod 3 = 0 Set the proposal value to the value v that appears in a majority of the received messages

ConvergeLock Phase Decide phase mod 3 = 1 phase mod 3 = 2 phase mod 3 = 0 Set the proposal value to the value v that appears in a majority of the received messages Yes. Set the proposal value to v. No. Set the proposal value to a meaningless value ⊥. Is the same value v in a strong majority of messages?

ConvergeLock Phase Decide phase mod 3 = 1 phase mod 3 = 2 phase mod 3 = 0 Set the proposal value to the value v that appears in a majority of the received messages Is the same value v in a strong majority of messages? Yes. Set the proposal value to v. No. Set the proposal value to a meaningless value ⊥. Is the same value v in a strong majority of messages? A strong majority. Decide v. At least one. Set the proposal value to v. None. Set the proposal value to a random value 0 or 1. How many processes have proposed the same value v ∊ {0, 1} ?

If we ensure that this cycle continues to happen, then processes will decide eventually ConvergeLock Phase phase mod 3 = 1 phase mod 3 = 2 Decide phase mod 3 = 0

Limiting the Actions of Byzantine Processes

Validation of Messages Authenticity validation  Ensures that a message m was actually generated by the process at the source of a transmission Semantic validation  Ensures that the contents of a message m are congruent with the execution of the protocol

How many faults can we tolerate? Omission Faults (liveness): Byzantine Nodes: Omission Faults (safety): ∞

Performance Evaluation

The performance of Turquois was compared against two existing (randomized) binary Byzantine consensus algorithms Bracha’s consensus (Bracha, 1984) Expected running time to termination: O(2 n ) Message complexity: O(n 3 ) No public-key cryptography ABBA (Cachin, Kursawe, Shoup, 2001) Termination in one or two rounds Message complexity: O(n 2 ) Resorts to asymmetric cryptography

Performance Evaluation Testbed b wireless ad hoc network 4 to 16 nodes Pentium III computers with Linux Experimental Parameters Initial proposal values - unanimous - divergent Faultload - no faulty nodes - less than one third of Byzantine nodes

n Bracha’s ABBA Turquois Average latency (in ms) with no faulty nodes and unanimous proposals

n Bracha’s ABBA Turquois Average latency (in ms) with no faulty nodes and unanimous proposals

n Bracha’s ABBA Turquois Average latency (in ms) with no faulty nodes and divergent proposals

n Bracha’s ABBA Turquois Average latency (in ms) with Byzantine nodes and unanimous proposals

n Bracha’s ABBA Turquois Average latency (in ms) with Byzantine nodes and divergent proposals

Conclusions The first consensus protocol that tolerates a combination of: ➡ Byzantine nodes ➡ Dynamic omission transmission faults The first protocol that circumvents the impossibility results of FLP and SW A novel mechanism for broadcast message authentication that relies on hashing operations during normal execution Our modeling assumptions paid off! Turquois was shown to be faster, in many cases by more than an order of magnitude