CS 395T Contract Signing Protocols. Real-World Fair Exchange uBoth parties want to sign the deal uNeither wants to commit first Immunity deal.

Slides:



Advertisements
Similar presentations
Contract-Signing Protocols John Mitchell Stanford TECS Week2005.
Advertisements

Multi-Party Contract Signing Sam Hasinoff April 9, 2001.
Secure Multiparty Computations on Bitcoin
Agreement: Byzantine Generals UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau Paper: “The.
Teaser - Introduction to Distributed Computing
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.
CSE331: Introduction to Networks and Security Lecture 22 Fall 2002.
6.852: Distributed Algorithms Spring, 2008 Class 7.
(c) Oded Shmueli Distributed Recovery, Lecture 7 (BHG, Chap.7)
Distributed Algorithms – 2g1513 Lecture 10 – by Ali Ghodsi Fault-Tolerance in Asynchronous Networks.
Lect. 18: Cryptographic Protocols. 2 1.Cryptographic Protocols 2.Special Signatures 3.Secret Sharing and Threshold Cryptography 4.Zero-knowledge Proofs.
Probabilistic Contract Signing CS 259 Vitaly Shmatikov.
Modeling Insider Attacks on Group Key Exchange Protocols Jonathan Katz Ji Sun Shin University of Maryland.
Consensus Algorithms Willem Visser RW334. Why do we need consensus? Distributed Databases – Need to know others committed/aborted a transaction to avoid.
CSCI283 Fall 2005 GWU All slides from Bishop’s slide set Public Key Infrastructure (PKI)
Systems of Distributed Systems Module 2 -Distributed algorithms Teaching unit 3 – Advanced algorithms Ernesto Damiani University of Bozen Lesson 6 – Two.
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 6: Synchronous Byzantine.
1 Secure Failure Detection in TrustedPals Felix Freiling University of Mannheim San Sebastian Aachen Mannheim Joint Work with: Marjan Ghajar-Azadanlou.
CMSC 414 Computer and Network Security Lecture 9 Jonathan Katz.
ITIS 6200/8200. time-stamping services Difficult to verify the creation date and accurate contents of a digital file Required properties of time-stamping.
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 6: Synchronous Byzantine.
Optimistic Synchronous Multi-Party Contract Signing N. Asokan, Baum-Waidner, M. Schunter, M. Waidner Presented By Uday Nayak Advisor: Chris Lynch.
1 More on Distributed Coordination. 2 Who’s in charge? Let’s have an Election. Many algorithms require a coordinator. What happens when the coordinator.
Advantage and abuse-freeness in contract-signing protocols Rohit Chadha, John Mitchell, Andre Scedrov, Vitaly Shmatikov To appear in CONCUR 2003.
C ontract signing Rohit Chadha, John Mitchell, Andre Scedrov, Vitaly Shmatikov.
Distributed Algorithms: Agreement Protocols. Problems of Agreement l A set of processes need to agree on a value (decision), after one or more processes.
Key Distribution CS 470 Introduction to Applied Cryptography
On the Cost of Fault-Tolerant Consensus When There are no Faults Idit Keidar & Sergio Rajsbaum Appears in SIGACT News; MIT Tech. Report.
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.
Alexander Potapov.  Authentication definition  Protocol architectures  Cryptographic properties  Freshness  Types of attack on protocols  Two-way.
Csci5233 Computer Security1 Bishop: Chapter 10 Key Management: Digital Signature.
Paxos Made Simple Jinghe Zhang. Introduction Lock is the easiest way to manage concurrency Mutex and semaphore. Read and write locks. In distributed system:
Distributed Consensus Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit.
Distributed Consensus Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit.
Andrew Lindell Aladdin Knowledge Systems and Bar-Ilan University 04/09/08 CRYP-202 Legally-Enforceable Fairness in Secure Two-Party Computation.
Contract-Signing Protocols J. Mitchell CS 259. Revised schedule uTuesday 1/24 Contract-signing protocols uThursday 1/26 Secure hardware architecture (XOM)
Distributed Algorithms – 2g1513 Lecture 9 – by Ali Ghodsi Fault-Tolerance in Distributed Systems.
Cryptography, Authentication and Digital Signatures
Security Protocols and E-commerce University of Palestine Eng. Wisam Zaqoot April 2010 ITSS 4201 Internet Insurance and Information Hiding.
Analysis of a Fair Exchange Protocol Vitaly Shmatikov John Mitchell Stanford University.
Section 3.1: Proof Strategy Now that we have a fair amount of experience with proofs, we will start to prove more difficult theorems. Our experience so.
Information Security Conference (ISC 2015) On the Efficiency of Multi-Party Contract Signing Protocols Gerard Draper-Gil, Josep-Lluis Ferrer Gomila, M.
Rational Exchange Levente Buttyán and Jean-Pierre Hubaux Swiss Federal Institute of Technology – Lausanne Laboratory for Computer Communications and Applications.
Game-Based Verification of Fair Exchange Protocols CS 259 Vitaly Shmatikov.
Consensus and Its Impossibility in Asynchronous Systems.
Cryptography and Network Security (CS435) Part Eight (Key Management)
Byzantine fault-tolerance COMP 413 Fall Overview Models –Synchronous vs. asynchronous systems –Byzantine failure model Secure storage with self-certifying.
University of Tampere, CS Department Distributed Commit.
Chapter 3 (B) – Key Management; Other Public Key Cryptosystems.
Chapter 4 Using Encryption in Cryptographic Protocols & Practices.
Rational Cryptography Some Recent Results Jonathan Katz University of Maryland.
CS 395T Game-Based Verification of Contract Signing Protocols.
CS294, Yelick Consensus revisited, p1 CS Consensus Revisited
Privacy Preserving Payments in Credit Networks By: Moreno-Sanchez et al from Saarland University Presented By: Cody Watson Some Slides Borrowed From NDSS’15.
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.
Two-Phase Commit Brad Karp UCL Computer Science CS GZ03 / M th October, 2008.
Alternating Temporal Logic and Game-Based Properties CS 259 John Mitchell with slides from Vitaly Shmatikov.
UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department
Multi-Party Proofs and Computation Based in part on materials from Cornell class CS 4830.
SysRép / 2.5A. SchiperEté The consensus problem.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
Probabilistic Contract Signing CS 395T. Probabilistic Fair Exchange uTwo parties exchange items of value Signed commitments (contract signing) Signed.
Consensus, impossibility results and Paxos Ken Birman.
When Is Agreement Possible
Alternating Bit Protocol
Distributed Consensus
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Probabilistic Contract Signing
Presentation transcript:

CS 395T Contract Signing Protocols

Real-World Fair Exchange uBoth parties want to sign the deal uNeither wants to commit first Immunity deal

General Setting uTwo parties agree on the items to exchange, each will release his item if the other releases his uPhysical solution is easy Sit at a table and exchange items simultaneously uGeneral problem: how to exchange information fairly on an asynchronous network? Both parties succeed or both fail

Why is Fair Exchange Difficult? uCannot trust communication channels Messages may be lost Attacker may insert additional messages uCannot trust other party in protocol Public-key certificate does not certify honesty uThere may exist a trustworthy judge or trusted third party Use sparingly, only if something goes wrong, otherwise becomes a communication bottleneck

Focus on Contract Signing Protocols uFair exchange of digital signatures uTwo parties want to sign a contract. Contract is known in advance to both parties. We’ll look at protocols for exchanging signatures, not for contract negotiation (e.g., auctions) Multi-party signing is more complicated uThe attacker could be another party on the network or the person you think you want to sign a contract with In key establishment protocols, usually assume that both parties are honest

Example: Stock Trading Willing to sell stock at price X Ok, willing to buy at price X stock broker customer Signed contracts are essential as proofs of agreement in case market price changes

Many Types of Protocols uProbabilistic protocols We looked at Rabin’s and BGMR protocols uGradual-release protocols Exchange signatures a few bits at a time –Work required to guess remaining bits decreases –Main issue: it should be possible to verify that the bits received so far are part of a valid signature uFixed-round protocols with trusted third party Impossibility result: no two-party protocol can be fair –Reason: fair two-party exchange can be used to solve the distributed consensus problem Need TTP in case one of the parties misbehaves

Contract Signing with Online TTP AB TTP signature contract Problem: TTP is the communication bottleneck Can it be removed?

Fundamental Limitation u(Very weak) consensus is not solvable if one or more processes can be faulty Fisher, Lynch, Paterson. “Impossibility of Distributed Consensus with One Faulty Process”. J ACM (1985). uConsensus problem in asynchronous setting Several processes want to agree on value of some bit –Each process has initial 0 or 1, eventually “decides” on 0 or 1 Weak termination: some correct process decides Agreement: no two processes decide on different values Very weak validity: there is a run in which the decision is 0 and a run in which the decision is 1

Partial Intuition for FLP Result uQuote from paper: The asynchronous commit protocols in current use all seem to have a “window of vulnerability”- an interval of time during the execution of the algorithm in which the delay or inaccessibility of a single process can cause the entire algorithm to wait indefinitely. It follows from our impossibility result that every commit protocol has such a “window,” confirming a widely believed tenet in the folklore.

Optimistic Contract Signing uInvolve trusted third party only if something goes wrong Declares contract binding if presented with first two messages AB I am going to sign the contract Here is my signature

Crypto Magic: Signature Escrows uOrdinary escrow: OrdEsc(sig A (m),T) Similar to {sig A (m)} pk(T) T can extract sig A (m) if formed correctly B can’t extract sig A (m) and can’t verify what’s inside uVerifiable escrow: VerEsc(sig A (m),T) T can extract sig A (m) if formed correctly B can’t extract sig A (m) but can verify that A’s signature is inside and that T will be able to extract it

uPrivate contract signature PCS X (m,Y,T) is an implementation of verifiable signature escrow Non-interactive zero-knowledge designated-verifier proof of convertible commitment to a signature with a designated converter uCan be created only by X, but Y can simulate it Therefore, Y cannot use it as proof of X’s participation uT can convert PCS into a universally verifiable signature sig X (m) Y can verify that PCS sent by X can indeed be converted by T into X’s signature Outsider can’t distinguish X’s private contract signature from Y’s simulation Private Contract Signatures [Garay et al.]

A B PCS A (text,B,T) PCS B (text,A,T) sig A (text) sig B (text) [Garay, Jakobsson, MacKenzie] Abuse-Free Contract Signing

Role of Trusted Third Party uT can convert PCS to regular signature (“resolve”) If one of the parties stops communicating, the other party can ask T to convert PCS into signature uT can issue an abort token (“abort”) Promise not to resolve protocol in future uT acts only when requested by A or B Decides whether to abort or resolve on a first-come- first-served basis

B A T r 1 = PCS A (text,B,T), sig B (text) aborted? Yes: r 2 = sig T (a 1 ) No: resolved := true r 2 = sig A (text) store sig B (text) r2r2 PCS A (text,B,T) ??? PCS B (text,A,T) sig T (a 1 ) sig A (text) or Resolve Subprotocol If A stops communicating, B asks T to convert A’s PCS, but must reveal his own sig

A ??? B T a 1 =sig A (m 1,abort) a2a2 resolved? Yes: a 2 = sig B (text) No: aborted := true a 2 = sig T (a 1 ) m 1 = PCS A (text,B,T) sig B (text) sig T (a 1 ) OR Abort Subprotocol A (but not B!) can ask T to abort the protocol (i.e., to promise that T won’t convert A’s PCS in future) This is not a guarantee that A won’t be able to obtain B’s signature by executing the protocol

Desirable Properties uFairness Either both A & B get each other’s signature, or none do uTimeliness Any party can terminate protocol by contacting TTP uNo advantage No party can unilaterally determine the outcome uNo provable advantage No party can prove that it has advantage uAccountability If a party or TTP cheats, message trace provides evidence of cheating

Fairness and Timeliness If A cannot obtain B’s signature, then B should not be able to obtain A’s signature and vice versa Fairness One player cannot force the other to wait -- a fair and timely termination can always be forced by contacting TTP Timeliness

No Advantage (Balance) No party should be able to unilaterally determine the outcome of the protocol Stock sale example: there is a point in the protocol where the broker can unilaterally choose whether the sale happens or not This property can fail even if basic fairness is satisfied! Can a timely, optimistic protocol be fair AND balanced?

Example of Advantage Willing to sell stock at price X Ok, willing to buy at price X stock brokercustomer Must be able to ask TTP to “abort” this instance of protocol, or will be stuck indefinitely if customer does not respond Can go ahead and complete the sale, OR can still ask TTP to “abort” (TTP doesn’t know customer has responded) Optimistically waits for broker to respond… Chooses whether deal will happen: does not have to commit stock for sale, can cancel if sale looks unprofitable Cannot back out of the deal: must commit money for stock FLP “window of vulnerability” again!

Game-Theoretic Model uEach protocol message is a game move Different sets of moves for different participants uFour possible outcomes (for signature exchange) A has B’s signature, B has A’s signature A has B’s signature, B doesn’t have A’s signature, etc. uHonest players follow the protocol uDishonest players can make any move permitted by the formal model Send any message they can compute Wait instead of responding uReason about players’ game strategies

Protocol as a Game Tree... (Y,N)(Y,Y)(Y,Y)(Y,Y)(Y,Y)(N,Y) (N,N) uEvery possible execution of the protocol is a path in the tree uPlayers alternate their moves First A sends a message, then B, then A … Adversary “folded” into dishonest player uEvery leaf labeled by an outcome (Y,Y) if A has B’s signature and B has A’s (Y,N) if only A has B’s signature, etc. uNatural concept of strategy Informally, strategy is a rule for responding to any move of the opponent A has a strategy for getting B’s signature if, for any move B can make, A has a response move such that the game always terminates in some leaf state labeled (Y,…)

Define Properties on Game Trees No leaf node is labeled (Y,N) or (N,Y) Fairness B never has a strategy to reach (Y,Y) AND a strategy to reach (N,N) No advantage (for B) B cannot PROVE that it has advantage No provable advantage (for B) uNot trace-based properties (unlike secrecy and authentication) uVery difficult to verify with symbolic analysis or process algebras... (Y,N)(Y,Y)(Y,Y)(Y,Y)(Y,Y)(N,Y) (N,N)

Key Idea (omitting many subtleties) uDefine “power” of a signer (A or B) in state s if A can get contract by reading a message already in network or doing internal computation if A can get contract by communicating with TTP, assuming B does nothing otherwise Power A (s) = uLook at optimistic transition s  s’ where Power B (s’) =1 > Power B (s) = 0

Advantage is Unavoidable (Intuition) uIf Power B (s) = 0  Power B (s’) =1 then… uThe move must have been performed by A A must have given B additional information that increased B’s power uThe move by A is not a message to TTP This is an optimistic protocol uB could abort in state s Follows from timeliness, since B can’t get contract in s uB can still abort in s’, so B has advantage! Intuition: T doesn’t know that B has received additional information from A, so B can lie to T

Impossibility Result uDishonest party has advantage in any fixed- round, timely, optimistic fair exchange protocol Dishonest party always has a strategy for reaching a state where it can unilaterally choose the outcome Similar to FLP impossibility result for consensus Cryptography cannot help uBad news for e-commerce Honest party must commit merchandise or money, while dishonest party can still decide whether to go ahead with the deal Need a trusted party in every transaction

“Abuse-Free”: As Good as It Gets No party should be able to unilaterally determine the outcome of the protocol No advantage No party should be able to prove that it can unilaterally determine the outcome of the protocol Abuse-Free (No Provable Advantage) impossible  Achieved by Garay-Jakobsson-MacKenzie protocol

A B PCS A (text,B,T) PCS B (text,A,T) sig A (text) sig B (text) [Garay, Jakobsson, MacKenzie] Abuse-Free Contract Signing A has advantage here, but he can’t use B’s PCS to prove that B is participating (e.g., to solicit another bid)

B A T r 1 = PCS A (text,B,T), sig B (text) aborted? Yes: r 2 = sig T (a 1 ) No: resolved := true r 2 = sig A (text) store sig B (text) r2r2 PCS A (text,B,T) ??? PCS B (text,A,T) sig T (a 1 ) sig A (text) or Resolve Subprotocol If A stops communicating, B asks T to convert A’s PCS, but must reveal his own sig

A ??? B T a 1 =sig A (m 1,abort) a2a2 resolved? Yes: a 2 = sig B (text) No: aborted := true a 2 = sig T (a 1 ) m 1 = PCS A (text,B,T) sig B (text) sig T (a 1 ) OR Abort Subprotocol A (but not B!) can ask T to abort the protocol (i.e., promise that he won’t convert A’s PCS in future)

B PCS A (text,B,T), sig B (text) sig T (abort) PCS A (text,B,T) PCS B (text,A,T) T sig A (abort) sig T (abort) Leaked by T sig T (abort) AND sig B (text)only sig T (abort) Attack on Accountability

B PCS A (text,B,T), PCS B (text,A,T) PCS A (text,B,T) PCS B (text,A,T) T If T converts PCS into a conventional signature, T can be held accountable Repairing the Protocol