eec 688/788 secure and dependable computing lecture 16 wenbing zhao department of electrical and...

17
EEC 688/788 EEC 688/788 Secure and Dependable Secure and Dependable Computing Computing Lecture 16 Lecture 16 Wenbing Zhao Wenbing Zhao Department of Electrical and Computer Department of Electrical and Computer Engineering Engineering Cleveland State University Cleveland State University [email protected] [email protected]

Post on 19-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: EEC 688/788 Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org

EEC 688/788EEC 688/788Secure and Dependable ComputingSecure and Dependable Computing

Lecture 16Lecture 16

Wenbing ZhaoWenbing ZhaoDepartment of Electrical and Computer EngineeringDepartment of Electrical and Computer Engineering

Cleveland State UniversityCleveland State University

[email protected]@ieee.org

Page 2: EEC 688/788 Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org

22

04/18/2304/18/23EEC688/788: Secure & Dependable EEC688/788: Secure & Dependable

ComputingComputing Wenbing ZhaoWenbing Zhao

OutlineOutline• Reminder:

– Midterm #3, November 30, Monday 2-3:50pm– Project presentation:

• December 9 2-5:50pm (?), attendance mandatory

– Project report due: December 9 midnight

• Practical Byzantine fault tolerance– By Miguel Castro and Barbara Liskov, OSDI’99– http://www.pmg.csail.mit.edu/papers/osdi99.pdf

Page 3: EEC 688/788 Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org

33

04/18/2304/18/23EEC688/788: Secure & Dependable EEC688/788: Secure & Dependable

ComputingComputing Wenbing ZhaoWenbing Zhao

Garbage CollectionGarbage Collection

• Used to discard messages from the log• For the safety condition to hold, messages must

be kept in a replica’s log until it knows that the requests have been executed by at least f+1 non-faulty replicas

• Achieved using a checkpoint, which occur when a request with sequence number (n) is divisible by some constant is executed

Page 4: EEC 688/788 Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org

44

04/18/2304/18/23EEC688/788: Secure & Dependable EEC688/788: Secure & Dependable

ComputingComputing Wenbing ZhaoWenbing Zhao

Garbage CollectionGarbage Collection

• When a replica i produces a checkpoint it multicasts a message <CHECKPOINT, n, d, i> to other replicas

• Each replica collects checkpoint messages in its log until it has 2f+1 of them for sequence number n with same digest d

• This creates a stable checkpoint and the replica discards all the pre-prepare, prepare and commit messages

Page 5: EEC 688/788 Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org

55

04/18/2304/18/23EEC688/788: Secure & Dependable EEC688/788: Secure & Dependable

ComputingComputing Wenbing ZhaoWenbing Zhao

View ChangesView Changes

• Triggered by timeouts that prevent backups from waiting indefinitely for request to execute

• If the timer of backup expires in view v, the backup starts a view change to move to view v+1 by,– Not accepting messages (other than checkpoint, view-

change, and new-view messages)

– Multicasting a VIEW-CHANGE message

Page 6: EEC 688/788 Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org

66

04/18/2304/18/23EEC688/788: Secure & Dependable EEC688/788: Secure & Dependable

ComputingComputing Wenbing ZhaoWenbing Zhao

View ChangesView Changes

• VIEW-CHANGE message is defined as<VIEW-CHANGE, v+1, n, C, P, i> where, C = 2f + 1 checkpoint messagesP = set of sets PmPm = a PRE-PREPARE msg + all PREPARE messages

for all messages with committed = false

Page 7: EEC 688/788 Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org

77

04/18/2304/18/23EEC688/788: Secure & Dependable EEC688/788: Secure & Dependable

ComputingComputing Wenbing ZhaoWenbing Zhao

View Change - PrimaryView Change - Primary

• Primary p of view v+1 receives 2f valid VIEW-CHANGE messages

• Multicasts a <NEW-VIEW, v+ 1, V, O> message to all other replicas where– V = set of 2f valid VIEW-CHANGE messages

– O = set of reissued PRE-PREPARE messages

• Moves to view v+1

Page 8: EEC 688/788 Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org

88

04/18/2304/18/23EEC688/788: Secure & Dependable EEC688/788: Secure & Dependable

ComputingComputing Wenbing ZhaoWenbing Zhao

View Changes - BackupsView Changes - Backups

• Accepts NEW-VIEW by checking V and O• Sends PREPARE messages for everything in O

– These PREPARE messages carry view v+1

• Moves to view v+1

Page 9: EEC 688/788 Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org

99

04/18/2304/18/23EEC688/788: Secure & Dependable EEC688/788: Secure & Dependable

ComputingComputing Wenbing ZhaoWenbing Zhao

Events Before the View ChangeEvents Before the View Change

• Before the view change we have two groups of non-faulty replicas: the Confused minority and the Agreed majority

• A non-faulty replica becomes Confused when it is kept by the faulty's from agreeing on a sequence number for a request

• It can't process this request and so it will time out, causing the replica to vote for a new view

Page 10: EEC 688/788 Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org

1010

04/18/2304/18/23EEC688/788: Secure & Dependable EEC688/788: Secure & Dependable

ComputingComputing Wenbing ZhaoWenbing Zhao

Events Before the View ChangeEvents Before the View Change

• The minority Confused replicas send a VIEW-CHANGE message and drop off the network

• The majority Agreed replicas continue working as long as the faulty's help with agreement

• The two groups can go out of synch but the majority keeps working until the faulty's cease helping with agreement

Page 11: EEC 688/788 Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org

1111

04/18/2304/18/23EEC688/788: Secure & Dependable EEC688/788: Secure & Dependable

ComputingComputing Wenbing ZhaoWenbing Zhao

System State: Faulty PrimarySystem State: Faulty Primary

Confused Minority

≤f non-faulty replicas

Agreed Majority≥f+1 non-faulty replicas

Adversaryf non-faulty replicas

P

System State

Agreed Majority≥f+1 non-faulty replicas

Adversaryf non-faulty replicas

≤2f replicas: NOT enough to change views

Is Erroneous View Change Possible?

P

Confused Minority

≤f non-faulty replicas

f faulty replicas

f faulty replicas

Page 12: EEC 688/788 Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org

1212

04/18/2304/18/23EEC688/788: Secure & Dependable EEC688/788: Secure & Dependable

ComputingComputing Wenbing ZhaoWenbing Zhao

Events Before the View ChangeEvents Before the View Change

• Given ≥f+1 non-faulty replicas that are trying to agree, the faulty replicas can either help that or hinder that

➲ If they help, then agreement on request ordering is achieved and the clients get ≥f+1 matching replies for all requests with the faulty's help

➲ If they hinder, then the ≥f+1 non-faulty's will time out and demand for a new view

• When the new majority is in favor of a view change, we can proceed to the new view

Page 13: EEC 688/788 Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org

1313

04/18/2304/18/23EEC688/788: Secure & Dependable EEC688/788: Secure & Dependable

ComputingComputing Wenbing ZhaoWenbing Zhao

System State: Faulty PrimarySystem State: Faulty Primary

Confused Minority≤f non-faulty replicas

Agreed Majority≥f+1 non-faulty replicas

Adversaryf non-faulty replicas

P

System StateIs it possible to continueprocessing requests?

Confused Minority≤f non-faulty replicas

Agreed Majority≥f+1 non-faulty replicas

Adversaryf non-faulty replicas

YES ≥2f+1 replicas: enough for agreement

P

f faulty replicasf faulty replicas

Page 14: EEC 688/788 Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org

1414

04/18/2304/18/23EEC688/788: Secure & Dependable EEC688/788: Secure & Dependable

ComputingComputing Wenbing ZhaoWenbing Zhao

System State: Faulty PrimarySystem State: Faulty Primary

Adversaryf non-faulty replicas

Confused Minority≤f non-faulty replicas

Agreed Majority≥f+1 non-faulty replicas

Adversaryf non-faulty replicas

YES ≥2f+1 replicas: enough for agreement

Faulty replicas cease helping with agreement

PP

Confused Majority2f+1 non-faulty replicas

Enough to agree to change views

Majority now large enough to independently move to a new view

f faulty replicasf faulty replicas

Page 15: EEC 688/788 Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org

1515

04/18/2304/18/23EEC688/788: Secure & Dependable EEC688/788: Secure & Dependable

ComputingComputing Wenbing ZhaoWenbing Zhao

LivenessLiveness• Replicas must move to a new view if they are

unable to execute a request• To avoid starting a view change too soon, a

replica that multicasts a view-change message for view v+1, waits for 2f+1 view-change messages and then starts the timer T

• If the timer T expires before receiving new-view message it starts the view change for view v+2

• The timer will wait 2T before starting a view-change from v+2 to v+3

Page 16: EEC 688/788 Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org

1616

04/18/2304/18/23EEC688/788: Secure & Dependable EEC688/788: Secure & Dependable

ComputingComputing Wenbing ZhaoWenbing Zhao

LivenessLiveness• If a replica receives f+1 valid view-change

messages from other replicas for views greater than its current view, it sends a view-change message for the smallest view in the set, even if T has not expired

• Faulty replicas cannot cause a view-change by sending a view-change message since a view-change will happen only if at least f+1 replicas send view-change message

• The above techniques guarantee liveness, unless message delays grow faster than the timeout period indefinitely

Page 17: EEC 688/788 Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University wenbing@ieee.org

1717

ExercisesExercises

• 1. Prove that the use of 3f+1 replicas to tolerate f Byzantine faulty replicas is optimal

• 2. Prove the safety property of the BFT algorithm when all non-faulty replicas reach an agreement within the same view

04/18/2304/18/23EEC688/788: Secure & Dependable EEC688/788: Secure & Dependable

ComputingComputing Wenbing ZhaoWenbing Zhao