Optimistic Synchronous Multi-Party Contract Signing N. Asokan, Baum-Waidner, M. Schunter, M. Waidner Presented By Uday Nayak Advisor: Chris Lynch.

Slides:



Advertisements
Similar presentations
The Diffie-Hellman Algorithm
Advertisements

1 Key Exchange Solutions Diffie-Hellman Protocol Needham Schroeder Protocol X.509 Certification.
Multi-Party Contract Signing Sam Hasinoff April 9, 2001.
Impossibility of Distributed Consensus with One Faulty Process
Secure Multiparty Computations on Bitcoin
Last Class: The Problem BobAlice Eve Private Message Eavesdropping.
1 Chapter 7-2 Signature Schemes. 2 Outline [1] Introduction [2] Security Requirements for Signature Schemes [3] The ElGamal Signature Scheme [4] Variants.
Analysis of optimistic multi-party contract signing Rohit Chadha 1,2, Steve Kremer 3,4, Andre Scedrov 1 1 University of Pennsylvania 2 University of Sussex.
Computer Science Dr. Peng NingCSC 774 Adv. Net. Security1 CSC 774 Advanced Network Security Topic 3.3: Fair Exchange.
1 Introduction to Quantum Information Processing CS 467 / CS 667 Phys 467 / Phys 767 C&O 481 / C&O 681 Richard Cleve DC 3524 Course.
Introduction to Modern Cryptography, Lecture 12 Secure Multi-Party Computation.
Eran Omri, Bar-Ilan University Joint work with Amos Beimel and Ilan Orlov, BGU Ilan Orlov…!??!!
Lect. 18: Cryptographic Protocols. 2 1.Cryptographic Protocols 2.Special Signatures 3.Secret Sharing and Threshold Cryptography 4.Zero-knowledge Proofs.
1 Asynchronous Broadcast Protocols in Distributed System Oct. 10, 2002 JaeHyrk Park ICU.
Improving the Round Complexity of VSS in Point-to-Point Networks Jonathan Katz (University of Maryland) Chiu-Yuen Koo (Google Labs) Ranjit Kumaresan (University.
Byzantine Generals Problem: Solution using signed messages.
Mar 12, 2002Mårten Trolin1 This lecture Diffie-Hellman key agreement Authentication Certificates Certificate Authorities SSL/TLS.
Session 4 Asymmetric ciphers.
Apr 9, 2002Mårten Trolin1 Previous lecture TLS details –Phases Handshake Securing messages –What the messages contain –Authentication The second assignment.
1 Principles of Reliable Distributed Systems Lecture 3: Synchronous Uniform Consensus Spring 2006 Dr. Idit Keidar.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 3 – Distributed Systems.
Network Security – Part 2 Public Key Cryptography Spring 2007 V.T. Raja, Ph.D., Oregon State University.
Proactive Secure Mobile Digital Signatures Work in progress. Ivan Damgård and Gert Læssøe Mikkelsen University of Aarhus.
A Secure Fault-Tolerant Conference- Key Agreement Protocol Wen-Guey Tzeng Source : IEEE Transactions on computers Speaker : LIN, KENG-CHU.
Co-operative Private Equality Test(CPET) Ronghua Li and Chuan-Kun Wu (received June 21, 2005; revised and accepted July 4, 2005) International Journal.
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.
ITIS 6200/8200. time-stamping services Difficult to verify the creation date and accurate contents of a digital file Required properties of time-stamping.
Introduction to Signcryption November 22, /11/2004 Signcryption Public Key (PK) Cryptography Discovering Public Key (PK) cryptography has made.
Alice and Bob’s Revenge? AliceBob Elvis. If there is a protocol If there is a protocol then there must be a shortest protocol 1.Alice  Bob : ??? 2.Bob.
Analysis of optimistic multi-party contract signing Rohit Chadha 1,2, Steve Kremer 3, Andre Scedrov 1 1 University of Pennsylvania 2 University of Sussex.
Network Security – Part 2 V.T. Raja, Ph.D., Oregon State University.
Module 8 – Anonymous Digital Cash Blind Signatures DigiCash coins.
Alexander Potapov.  Authentication definition  Protocol architectures  Cryptographic properties  Freshness  Types of attack on protocols  Two-way.
1 Lecture 18: Security issues specific to security key management services –privacy –integrity/authentication –nonrepudiation/plausible deniability.
Adaptively Secure Broadcast, Revisited
Csci5233 Computer Security1 Bishop: Chapter 10 Key Management: Digital Signature.
CS555Topic 211 Cryptography CS 555 Topic 21: Digital Schemes (1)
Andrew Lindell Aladdin Knowledge Systems and Bar-Ilan University 04/09/08 CRYP-202 Legally-Enforceable Fairness in Secure Two-Party Computation.
Provable Unlinkability Against Traffic Analysis Amnon Ta-Shma Joint work with Ron Berman and Amos Fiat School of Computer Science, Tel-Aviv University.
Chapter 4: Intermediate Protocols
Distributed Algorithms – 2g1513 Lecture 9 – by Ali Ghodsi Fault-Tolerance in Distributed Systems.
1 SC700 A2 Internet Information Protocols 3/20/2001 Paper Presentation by J. Chu How to Explain Zero-Knowledge Protocols to Your Children.
SECURITY MANAGEMENT Key Management in the case of public-key cryptosystems, we assumed that a sender of a message had the public key of the receiver at.
CSCD 218 : DATA COMMUNICATIONS AND NETWORKING 1
Information Security Conference (ISC 2015) On the Efficiency of Multi-Party Contract Signing Protocols Gerard Draper-Gil, Josep-Lluis Ferrer Gomila, M.
4 th lecture.  Message to be encrypted: HELLO  Key: XMCKL H E L L O message 7 (H) 4 (E) 11 (L) 11 (L) 14 (O) message + 23 (X) 12 (M) 2 (C) 10 (K) 11.
Based on Schneier Chapter 5: Advanced Protocols Dulal C. Kar.
Software Security Seminar - 1 Chapter 5. Advanced Protocols 조미성 Applied Cryptography.
Presented by: Suparita Parakarn Kinzang Wangdi Research Report Presentation Computer Network Security.
Byzantine fault-tolerance COMP 413 Fall Overview Models –Synchronous vs. asynchronous systems –Byzantine failure model Secure storage with self-certifying.
Network Security – Special Topic on Skype Security.
Zero-knowledge proof protocols 1 CHAPTER 12: Zero-knowledge proof protocols One of the most important, and at the same time very counterintuitive, primitives.
Distributed systems Consensus Prof R. Guerraoui Distributed Programming Laboratory.
DIGITAL SIGNATURE. A digital signature is an authentication mechanism that enables the creator of a message to attach a code that acts as a signature.
Network Security Continued. Digital Signature You want to sign a document. Three conditions. – 1. The receiver can verify the identity of the sender.
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.
Multi-Party Proofs and Computation Based in part on materials from Cornell class CS 4830.
SysRép / 2.5A. SchiperEté The consensus problem.
Protocol Analysis. CSCE Farkas 2 Cryptographic Protocols Two or more parties Communication over insecure network Cryptography used to achieve goal.
Software Security Seminar - 1 Chapter 4. Intermediate Protocols 발표자 : 이장원 Applied Cryptography.
Private key
Chapter 21 Asynchronous Network Computing with Process Failures By Sindhu Karthikeyan.
1 Fault-Tolerant Consensus. 2 Communication Model Complete graph Synchronous, network.
Mar 28, 2003Mårten Trolin1 This lecture Certificates and key management Non-interactive protocols –PGP SSL/TLS –Introduction –Phases –Commands.
 5.1 Zero-Knowledge Proofs  5.2 Zero-Knowledge Proofs of Identity  5.3 Identity-Based Public-Key Cryptography  5.4 Oblivious Transfer  5.5 Oblivious.
Topic 36: Zero-Knowledge Proofs
The consensus problem in distributed systems
Course Business I am traveling April 25-May 3rd
Digital Signatures Network Security.
Presentation transcript:

Optimistic Synchronous Multi-Party Contract Signing N. Asokan, Baum-Waidner, M. Schunter, M. Waidner Presented By Uday Nayak Advisor: Chris Lynch

Contract Signing Alice, Bob Contract They’ve agreed on the wording, but neither wishes to sign unless the other signs as well. Face to face, this is easy; Both sign together. Over a distance, they could use an arbitrator

Face-to-face (Simultaneous Contract Signing without an Arbitrator) If Alice and Bob are sitting face-to-face, they could sign the contract this way: Alice signs the 1 st letter of her name and passes the contract to Bob Bob signs the 1 st letter of his name and passes the contract to Alice Alice signs the 2 nd letter of her name and passes the contract to Bob Bob signs the 2 nd letter of his name and passes the contract to Alice This continues until Alice and Bob have signed their entire names (Obvious Problem of this Protocol?)

Contract Signing with an Arbitrator Alice signs a copy of the contract and sends it to Trent Bob signs a copy of the contract and sends it to Trent Trent sends a message to both Alice and Bob indicating that the other has signed the contract. Alice signs two copies of the contract and sends them to Bob Bob signs both copies of the contract, keeps one for himself, and sends the other to Alice Alice and Bob both inform Trent that they each have a copy of the contract signed by both of them. Trent tears up his two copies of the contract with only one signature each.

Introduction to Multi-Party Contract Signing Business transactions often demand secure, verifiable agreement on how to proceed: All parties involved must agree to either abort or to complete the transaction If the transaction is not aborted then the decision to continue must be verifiable by a third party (Parties are not likely to trust each other. Therefore, the second requirement should be satisfied even if (n – 1) dishonest parties conspire against a single honest one) After having negotiated the contract text all signatories (parties) have to agree whether the contract shall become valid (signed) or not (failed) Any signatory must be able to show a signed contract to any third party (verifier)

Model and Notation P 1, P 2, …, P n : Parties T: Third Party V: any Verifier Each party is able to digitally sign messages, and to verify signatures of any other party (PKI) The signature on message m associated with P X is denoted by sign X (m). Protocol is structured in synchronized rounds of communication: Each party knows when a certain round starts and ends. In each round, each party can send a message to each other party, and can process all messages received from all other parties. Messages sent between the parties are reliably delivered within the same round. We consider an adversary who can a priori choose to corrupt a certain subset of all parties. The adversary can read all communication channels; but cannot forge signatures.

Definition: (Multi-Party Contract Signing) Definition 1: A protocol for at least (n + 1) parties P 1,…,P n,V that satisfies the following conditions is called a Multi-Party Contract Signing protocol, or just an MPCS. MPCS: consists of two protocols, sign[P 1,…,P n ] and verify[P i, V]. A Party P i who wishes to start sign[] enters (sign, tid, contr, decs). tid = transaction identifier (unique for all executions of sign[]) contr = contract to be signed decs  {sign, reject} denotes the user’s initial decision On termination, sign[] produces an output (tid, contr, d i ) for P i, with d i  {signed, failed}. We will simply say “P i decides d i ” A Party P i who wishes to start verify[] with a verifier V enters (show, tid, contr). If the verifier V, wishes to start verify[] as well it enters (verify, tid, contr) where tid, contr must be the same values as those used by P i On termination verify[] produces an output (tid, contr, d V ) with d V  {signed, failed} for V. We will simply say “V decides d V on tid.”

Optimistic Protocols Definition 2: (Optimistic Protocol) A protocol for n regular parties parties P 1,…,P n and a third party T is called optimistic if in the all-honest case the protocol terminates without T ever sending or receiving any messages.

Optimistic Synchronous Multi-Party Contract Signing (Protocol 1) Signing: Let c := (tid, contr) 1.a. If P i starts with decs = reject it decides failed and stops b. Otherwise P i sends message m 1,i := sign i (1,c) to all other parties. 2. Each P i compiles M 1 :=(m 1,i,…, m 1,n ) a. If this succeeds and each m 1,j is a valid signature sign j (1,c) then P i sends m 2,i := sign i (2,c) to all other parties. b. Otherwise P i waits for a message from T in Round Each P i compiles M 2 :=(m 1,1,…, m 1,n ) a. If this succeeds and each m 2,j is a valid signature sign j (2,c) then P i decides signed and stops b. Otherwise, and if P i has sent m 2,i, it sends m 3,i := sign i (3,M 1 ) to T.

Optimistic Synchronous Multi-Party Contract Signing 4. If T receives at least one message m 3,i in round 3 which contains a full and consistent M 1 then T sends m T := sign T (M 1 ) to all parties, and each P i receiving this decides signed. (Otherwise T does not send anything, and is actually not even aware of this protocol run) Each P i waiting for a message from T in Round 4 decides failed if none arrives, or signed in case m T is received, and stops. Verification: Any verifier V accepts a contract if it sees a full and consistent M 2 or an m T containing a full and consistent M 1

Explanation In the all-honest case only two rounds of communication are needed: In the 1 st round, each party who wishes to sign the contract broadcasts a signed “promise to sign” (= message m 1,i ) In the 2 nd round, each party who received all n promises from the 1 st round, actually signs the contract and broadcasts its real signature ( = message m 2,i ) (Obviously, this works if all parties wish to sign. If at least one party does not wish to sign, this party will not send the signed promise, and thus no party will sign in Round 2. Thus, in the all-honest case, the protocol stops after 2 rounds.) If some party cheats some honest parties might not end up with a signed contract in Round 2, while some others do. This inconsistency is solved by adding two more rounds to the protocol where everybody who has n signed promises from round 1 can get them converted into a valid contract, by T. If T issues an affidavit it broadcasts it to all parties, in Round 4. Thus, each party who did not receive all n promises in Round 1 waits until Round 4. If it receives an affidavit from T the decision is signed, otherwise failed.

Theorem 1 : Protocol 1 is an optimistic MPCS for synchronous networks. Proof: Correct execution, verifiability and termination are obviously satisfied. Strong unforgeability is given by the fact that a valid contract contains a signature from each party, i.e., all parties must have agreed to sign. No Surprises with invalid contracts. Assume an honest V accepts c as signed. If this happens because of m T then T has distributed this message to all parties, and all honest parties decide signed. Assume V accepts because of M 2, and consider some honest party P i. As M 2 contains P i ’s signature from Round 2, P i received M 1 in Round 1. If P i received M 2 in Round 2 it decides signed. Otherwise it sends m 3,i to T, which is necessarily answered by m T (as T is honest), and P i decides signed. Thus, we know that if V accepts then any honest party has accepted the contract. Optimistic. Assume all parties are honest. If all parties start with decs = sign and consistent contracts then T will not be involved and everybody decides signed in Round 2. If at least one party P i starts with decs = reject then m 1,i will not be sent, M 1 will be incomplete, no other party can send m 2,j, thus none will contact T, and in Round 4 all parties that started with decs i = sign will decide failed.

Applications Optimistic Multi-Party Certified Mail In two-party certified mail the sender P 1 sends a message m to P 2 in exchange for a receipt that can be shown to any verifier V. P 2 has to give the receipt blindly, i.e., independent of the contents of m. Generalization: (Natural multi-party version of certified mail) One-to-many certified mail: P 1 sends a certified mail m to P 2,…,P n : P 1 sends a certified mail m to P 2,…,P n and requires to get a receipt from each recipient in exchange. Either P 1 receives all receipts, or none of P 2,…,P n gets any information about m. Similarly one can define many-to-one certified mail, where each P i (i  {2,…,n}) sends a certified mail m i to P 1 and requires to get a receipt from P 1 in exchange. Either each sender P i receives a receipt, or P 1 gets no information about any of the m i.

Optimistic One-to-many Certified Mail (Protocol 2) P 1 encrypts (tid,m) under the public key of T, and sends the ciphertext to all parties. Call this ciphertext cipher. Each party receiving cipher and willing to accept it sets decs = sign. Otherwise decs = reject. We run an optimistic contract signing protocol on (tid, contr = cipher, decs). If P i (i  {1,…,n}) decides failed in the contract signing protocol then it decides failed in the certified mail protocol and stops. P 1 sends m to all parties, and proves that (tid,m) was actually the cleartext corresponding to cipher(by sending also all random coins used in computing cipher). P 1 decides accepted in the certified mail protocol. The receipt is the signed contract. If P i, i>1 received a correct pair (tid,m) it accepts m and stops. Otherwise P i shows the contract (tid, cipher, decs) to T. If T receives a signed contract (tid, cipher) from P i then it tries to decrypt cipher. Otherwise, the request is ignored. If decryption succeeds and results in (tid, m) for the given tid then T sets m T := sign T (tid,cipher,m) Otherwise, T sets m T := sign T (tid,cipher,nil) T sends m T to P i

Theorem 2 Protocol 2 is a secure protocol for optimistic one-to-many certified mail. Proof. (Sketch) To prove two properties: No information is leaked on m unless P 1 has a receipt. And P 1 cannot get a receipt without revealing m: The only way to get information about cipher is from P 1 or T P 1 reveals m only if he has a signed contract, i.e., a receipt. T reveals m only if the condition in Step 5a is satisfied. This means the cleartext of cipher and the signed contract agree on tid, i.e., correspond to the same protocol run. Thus, P 1 was indeed the creator of cipher, and agreed to exchange m for a receipt. Thus, T can safely decrypt cipher. Since the MPCS is assumed to be secure, the only way to get a valid receipt is if Phase 2 resulted in a signed contract. Based on this contract each P i will finally get the corresponding message, either from P 1 in Phase 3 or from T in Phase 5.

Conclusion The main application of multi-party contract signing is as a primitive for secure atomic transactions. We showed how to solve several fair exchange problems using multi-party contract signing.