Analysis of optimistic multiparty contract signing - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

Analysis of optimistic multiparty contract signing

Description:

Special instance of fair exchange protocols. Important issue for secure ... using private contract signatures (convertible designated verifier signatures) ... – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 36
Provided by: lit68
Category:

less

Transcript and Presenter's Notes

Title: Analysis of optimistic multiparty contract signing


1
Analysis of optimisticmulti-party contract
signing
Rohit Chadha1,2, Steve Kremer3,4, Andre
Scedrov1 1University of Pennsylvania 2University
of Sussex 3Université Libre de Bruxelles
4Birmingham University
2
Digital Contract signing
  • Use digital signatures to sign a contract over a
    network
  • Contract text is already agreed upon
  • Special instance of fair exchange protocols
  • Important issue for secure electronic commerce
  • Naive 2-party example

3
Digital Contract signing
  • Use digital signatures to sign a contract over a
    network
  • Special instance of fair exchange protocols
  • Important issue for secure electronic commerce
  • Naive 2-party example
  • Bob may be malicious and not send his signature
  • Asymmetry someone must be the first to send his
    signature

4
Properties of Contract Signing
  • Fairness
  • If A can get Bs signature, then B can get As
    signature, and vice-versa
  • Timeliness
  • Avoids that a participant gets stuck
  • Advantage
  • A participant has an advantage if
  • it has a strategy to complete the exchange
  • and it has a strategy to abort the exchange
  • Abuse-freeness (provable advantage)
  • Avoids that a participant can prove to an
    external party that it has the power to choose
    the outcome of the protocol

5
Evolution of contract signing
In 1980, Even Yacobi showed that no fair
deterministic contract signing protocol exists
without the participation of a trusted party.
  • Randomized protocols
  • Trusted Party intervenes
  • Use trusted party as a delivery authority
  • May cause a bottleneck
  • Trusted Party intervenes only in case of problem
    (optimistic approach)
  • More complex, and more error-prone

6
Formal methods contract signing
  • Shmatikov, Mitchell, 2000
  • Model-checker Murphi
  • invariant checking
  • Chadha, Kanovich, Scedrov, 2001
  • Specification in MSR
  • inductive proofs
  • Kremer, Raskin, 2002
  • Model-checker Mocha
  • ATL (temporal logic with game semantics)
  • Chadha, Mitchell, Scedrov, Shmatikov 2003
  • general results (protocol independent) on
    advantage
  • ? Only 2-party contract signing protocols have
    been studied

7
Topologies
  • Unlike for 2-party protocols, the different
    instances of fair exchange protocols differ
    significantly in the multi-party case

1
1
1
n
2
n
2
...
...
...
3
2
3
3
n
1-to-many non-repudiation and certified e-mail
ring topology barter
full graph contract signing
  • Contract signing requires the most complicated
    protocols

8
Multi-party contract signing
  • n participants want to sign a contract
  • Properties for a honest participant must hold
    against any coalition of dishonest participants,
    i.e., against up to n-1 dishonest participants
  • Every participant must receive the signature of
    all other participants (topology is a full graph)

9
Multi-party protocols
  • Astonishingly few so far
  • Asokan, Baum-Waidner, Schunter, Waidner, T.R.
    1998
  • Optimistic synchronous multi-party contract
    signing
  • Baum-Waidner, Waidner, T.R. 1998 ICALP 2000
  • Optimistic asynchronous multi-party contract
    signing
  • Garay, MacKenzie, DISC 1999
  • Optimistic asynchronous multi-party contract
    signing
  • Baum-Waidner, Waidner, ICALP 2001
  • Optimistic asynchronous multi-party contract
    signing with reduced number of rounds

10
Protocol model
  • All participants are players
  • 2 versions of each player described using guarded
    commands
  • honest follow the protocol
  • dishonest may send messages out of order and
    continue the main protocol after contacting the
    trusted party
  • Messages are immediately available for reading
  • Only structural flaws are considered
  • no modelling of the cryptographic primitives
  • Mocha cannot handle parametric specifications
  • Small C programs for the GM protocol and the BW
    protocol, that generate the Mocha specification
    for a given number of participants

11
The model-checker Mocha
C program
ATL formula
Mocha
Guarded commands describing the protocol
ATS
Model-Checking
YES
NO
12
The BW protocol Baum, Waidner, ICALP 2000
  • Rather simple protocol, with symmetric behaviour
    of each participant
  • T can overturn aborts
  • We used Mocha to verify fairness for n2,,5, but
    no flaw was found
  • The basic protocol does not aim to provide
    abuse-freeness
  • Non-standard definition of contract
  • a special protocol for verifying the validity of
    a contract is defined

13
GM protocol Garay, MacKenzie, DISC 1999
  • Recursive description of the protocol
  • The protocol is divided into n levels
  • In each protocol level specific promises are used
  • Promises are implemented using private contract
    signatures (convertible designated verifier
    signatures)
  • The i-level protocol is triggered when Pi
    receives 1-level promises from Pi1 through Pn
  • In i-level protocol participants Pi through P1
    exchange i-level promises
  • They agree on the contract with promises (not
    signatures)
  • Pi through P1 close higher level protocols
  • After the n-level protocol actual signatures are
    exchanged

14
GM main protocol for Pi
  • Pi Pi-1 ... P1

Distribute 1-level promises
(i-1) level protocol
Collect (i-1) level promises
Exchange i-level promises
15
GM main prot. (4 participants)
P4
P3
P2
P1
otherwise stop
otherwise stop
otherwise stop
16
GM main prot. (4 participants)
P4
P3
P2
P1
otherwise abort
otherwise recover
otherwise recover
otherwise recover
17
GM main prot. (4 participants)
P4
P3
P2
P1
otherwise recover
otherwise recover
otherwise recover
otherwise recover
otherwise recover
18
GM main prot. (4 participants)
P4
P3
P2
P1
otherwise recover
otherwise recover
otherwise recover
otherwise recover
otherwise recover
otherwise recover
19
GM main prot. (4 participants)
P4
P3
P2
P1
otherwise recover
otherwise recover
otherwise recover
20
GM abort and resolve for Pi
  • To abort, Pi sends to T
  • SPi(m,Pi,(P1, ... ,Pn), abort)
  • To resolve, Pi sends to T
  • SPi (PCSPj(m,kj), Pi, T (j ? 1...
    n\i),SPi(m,1)
  • where
  • if jgti, kj is the maximum level of a promise
    received from Pj on m
  • if jlti, kj is the maximum level of promises
    received from each of the participants Pj' ,
    with j'lt i

21
GM protocol for T
  • Each participant may contact T only once
  • T replies with a resolved contract or an abort
    token
  • T may overturn an abort, but never a resolve
  • T maintains the following information for each
    contract to decide when to overturn an abort
  • validated a boolean indicating whether the
    contract has been validated or not
  • S the set of indices of parties that have
    aborted
  • F set of indices of parties which helps T to
    decide when to overturn an abort

22
An attack on abuse-freeness
  • Note that P1 cannot abort
  • Abort responses include the participants that
    have aborted
  • If P1 receives an abort from T it must have send
    a resolve request
  • Use T as an oracle 
  • When T receives a resolve request T verifies all
    promises and, by answering to P1, provides
    evidence that all participants have started the
    protocol

23
An attack on abuse-freeness (2)
  • Consider the protocol instance where n3
  • Using Mocha, we show that abuse-freeness does not
    hold for a honest P3
  • P1 and P2 have a strategy to reach a state where
  • P1 has an abort reply and
  • P1 and P2 have a strategy to obtain P3s
    signature
  • honest P3 does not have a strategy to obtain P1s
    and P2s signature

24
An attack on abuse-freeness (3)
  • At the beginning P2 aborts
  • P1 tries to resolve, but gets an abort reply from
    T, which it can show to Charlie
  • At that point P1 and P2 can choose the outcome
  • stop the protocol P3 is not able to overturn
    the abort
  • complete the protocol in an optimistic way
  • Easy fix make abort replies to different
    participants indistinguishable

25
An attack on fairness
  • The first attack was discovered when noticing an
    error in the proof
  • Consider the protocol instance where n4
  • Using Mocha, we show that fairness does not hold
    for a honest P2
  • There exists a path such that
  • P1, P3 and P4 have P2s signature
  • there exists a path such that P2 does not obtain
    all other signatures
  • Similar attacks can be shown against P1 and P3
  • Using Mocha we did not discover any attack on
    fairness for n3

26
An attack on fairness (2)
  • P1, P3 and P4 collude against P2
  • P3 aborts at the beginning
  • T adds P3 to S
  • P1 resolves, but T responds with an abort
  • T adds P1 to S and P2 to F
  • P2 tries to recover, but as P2 is in F, T
    responds with an abort
  • P4 resolves and T overturns the abort

27
An attack on fairness (3)
  • More generally the attack scenarios are as
    follows
  • dishonest Pk1 aborts but continues the protocol
  • dishonest Pk2 tries to recover but does not
    succeed
  • as a side-effect it adds one or several
    participants to the set F
  • honest Pk3 tries to recover but does not succeed
  • dishonest Pk4 recovers and overturns the abort

28
Another attack on fairness
  • P4 and P1 dishonest
  • Dishonest P4 aborts
  • Dishonest P3 tries to recover but does not
    succeed
  • as a side-effect adds to P1 the set F
  • Honest P1 has to recover, but fails
  • Honest P2 has to recover and overturns

29
Correcting the GM protocol
  • Major revisions required
  • Getting the decision to overturn abort correct
  • Recovery protocol and Ts protocol changed
  • Central idea in the revision
  • Abort overturned if and only if T infers that
    each signer that contacted it in the past has
    been dishonest
  • Idea borrowed from Baum-Waidner protocol
  • Mocha did not discover any attacks for both 3 and
    4 signers

30
Revised GM protocol
  • Recovery messages modified so that T can infer
    the highest-level promises that an honest signer
    would have sent when the recovery was launched
  • Leads to a smaller number of possible resolve
    requests
  • T maintains the list S of signers who have
    contacted T in the past and received an abort
  • For each signer Pi in S,T maintains two integer
    variables
  • hi highest level promise that an honest Pi
    would have sent to any higher indexed signers
    before contacting T
  • li highest level promise that an honest Pi
    would have sent to any lower indexed signers
    before contacting T

31
Protocol for T
  • If T ever replies with a signed contract, then T
    responds with the contract for any further
    request
  • If the first request to T is a resolve request,
    then T sends back a signed contract
  • If the first request is an abort request, then T
    aborts the contract. T may overturn this abort
    decision in future.
  • T maintains the abort if it cannot deduce that a
    signer in the list S is dishonest
  • T overturns the abort if it can deduce that all
    the signers in S have behaved dishonestly
  • T deduces that a signer Pi in S is dishonest when
    contacted by Pj if
  • jgti and Pi presents to T a k-level promise from
    Pi such that kgthi , or
  • jlti and Pi presents to T a k-level promise from
    Pi such that kgtli

32
Conclusion
  • First formal analysis of multi-party contract
    signing protocols
  • Using the model-checker Mocha and the logic ATL
    instances of two protocols have been verified
  • Two new attacks have been discovered in the GM
    protocol
  • Abuse-freeness can be broken using side
    information given by T easy to fix
  • Fairness can be broken when n gt 3 requires
    major changes to be fixed

33
Future work
  • Extend strand space formalism to model fair
    exchange protocols
  • derive Mocha specifications directly from strands
  • correctness proofs when no attack is found
  • Extend the analysis to a more complete model
  • Dolev-Yao-like intruder
  • Parametric verification
  • Study different topologies, e.g. ring topologies
    in fair exchange
  • Extend general results on advantage, presented in
    Chadha, Mitchell, Scedrov, Shmatikov 2003 to
    multi-party protocols

34
GM main prot. (4 participants)
P4
P3
P2
P1
35
GM main protocol for Pi (detailed)
Pi
Otherwise, stop
agreement of Pi...P1
Otherwise, abort
Otherwise, resolve
Otherwise, resolve
Otherwise, resolve
Otherwise, resolve
...
Otherwise, resolve
Write a Comment
User Comments (0)
About PowerShow.com