Presentation is loading. Please wait.

Presentation is loading. Please wait.

EEC 688/788 Secure and Dependable Computing

Similar presentations


Presentation on theme: "EEC 688/788 Secure and Dependable Computing"— Presentation transcript:

1 EEC 688/788 Secure and Dependable Computing
Lecture 12 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University

2 EEC688/788: Secure & Dependable Computing
Outline Reminder: midterm#2 this Wednesday! Paxos algorithm Review exercise for midterm#2 5/23/2019 EEC688/788: Secure & Dependable Computing

3 The Paxos Algorithm – Consensus for Asynchronous Systems
Contribution: separately consider safety and liveness issues. Safety can be guaranteed and liveness is ensured during period of synchrony Participants of the algorithm are divided into three categories Proposers: those who propose values Accepters: those who decide which value to choose Learners: those who are interested in learning the value chosen 5/23/2019 EEC688/788: Secure & Dependable Computing

4 EEC688/788: Secure & Dependable Computing
The Paxos Algorithm How to choose a value Use a single acceptor: straightforward but not fault tolerant Use a number of acceptors: a value is chosen if the majority of the acceptors have accepted it 5/23/2019 EEC688/788: Secure & Dependable Computing

5 EEC688/788: Secure & Dependable Computing
The Paxos Algorithm Requirements for choosing a value P1. An acceptor must accept the first proposal that it receives P2. If a proposal with value v is chosen, then every higher-numbered proposal that is chosen has value v Since the proposal numbers are totally ordered, P2 guarantees the safety property 5/23/2019 EEC688/788: Secure & Dependable Computing

6 EEC688/788: Secure & Dependable Computing
The Paxos Algorithm How to guarantee P2? P2a: If a proposal with value v is chosen, then every higher-numbered proposal accepted by any acceptor has value v But what if an acceptor that has never accepted v accepted a proposal with v’? P2b: if a proposal with value v is chosen, then every higher-numbered proposal issued by any proposer has value v P2b implies P2a, which implies P2 5/23/2019 EEC688/788: Secure & Dependable Computing

7 EEC688/788: Secure & Dependable Computing
The Paxos Algorithm How to ensure P2b? P2c: For any v and n, if a proposal with value v and number n is issued, then there is a set S consisting of a majority of acceptors such that either (a) no acceptor in S has accepted any proposal numbered less than n, or (b) v is the value of the highest-numbered proposal among all proposals numbered less than n accepted by the acceptors in S 5/23/2019 EEC688/788: Secure & Dependable Computing

8 EEC688/788: Secure & Dependable Computing
The Paxos Algorithm To ensure P2c, an acceptor must promise: It will not accept any more proposals numbered less than n, once it has accepted a proposal n 5/23/2019 EEC688/788: Secure & Dependable Computing

9 EEC688/788: Secure & Dependable Computing
The Paxos Algorithm Phase 1. (a) A proposer selects a proposal number n and sends a prepare request with number n to a majority of acceptors. (b) If an acceptor receives a prepare request with number n greater than that of any prepare request to which it has already responded, then it responds to the request with a promise not to accept any more proposals numbered less than n and with the highest-numbered proposal (if any) that it has accepted. 5/23/2019 EEC688/788: Secure & Dependable Computing

10 EEC688/788: Secure & Dependable Computing
The Paxos Algorithm Phase 2. (a) If the proposer receives a response to its prepare requests (numbered n) from a majority of acceptors, then it sends an accept request to each of those acceptors for a proposal numbered n with a value v, where v is the value of the highest-numbered proposal among the responses, or is any value if the responses reported no proposals. (b) If an acceptor receives an accept request for a proposal numbered n, it accepts the proposal unless it has already responded to a prepare request having a number greater than n. 5/23/2019 EEC688/788: Secure & Dependable Computing

11 EEC688/788: Secure & Dependable Computing
The Paxos Algorithm 5/23/2019 EEC688/788: Secure & Dependable Computing

12 EEC688/788: Secure & Dependable Computing
Paxos Examples 5/23/2019 EEC688/788: Secure & Dependable Computing

13 EEC688/788: Secure & Dependable Computing
Paxos Examples 5/23/2019 EEC688/788: Secure & Dependable Computing

14 EEC688/788: Secure & Dependable Computing
Paxos Examples 5/23/2019 EEC688/788: Secure & Dependable Computing

15 EEC688/788: Secure & Dependable Computing
Review Problem 1 In the Needham-Schroeder protocol, Alice generates two challenges, RA and RA2. This seems like overkill. Would one not have done the job? 5/23/2019 EEC688/788: Secure & Dependable Computing

16 EEC688/788: Secure & Dependable Computing
Review Problem 2 In the public-key authentication protocol shown below, in message 7, RB is encrypted with KS. Is this encryption necessary, or would it have been adequate to send it back in plaintext? Explain your answer 5/23/2019 EEC688/788: Secure & Dependable Computing

17 EEC688/788: Secure & Dependable Computing
Review Problem 3 Give two reasons why PGP compresses messages. 5/23/2019 EEC688/788: Secure & Dependable Computing

18 EEC688/788: Secure & Dependable Computing
Review Problem 4 Assuming that everyone on the Internet used PGP, could a PGP message sent to a mailing list and be decoded correctly by all recipants? 5/23/2019 EEC688/788: Secure & Dependable Computing

19 EEC688/788: Secure & Dependable Computing
Review Problem 5 The SSL data transport protocol involves two nonces as well as a premaster key. What value, if any, does using the nonces have? 5/23/2019 EEC688/788: Secure & Dependable Computing


Download ppt "EEC 688/788 Secure and Dependable Computing"

Similar presentations


Ads by Google