how to do things with cryptographic protocols
play

How to Do Things with Cryptographic Protocols Joshua D. Guttman - PowerPoint PPT Presentation

How to Do Things with Cryptographic Protocols Joshua D. Guttman The MITRE Corporation Thanks to the MITRE-Sponsored Research program Asian Computer Science Conference, 2007 Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 1


  1. How to Do Things with Cryptographic Protocols Joshua D. Guttman The MITRE Corporation Thanks to the MITRE-Sponsored Research program Asian Computer Science Conference, 2007 Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 1 / 27

  2. Protocols coordinate distributed systems Protocols allow principals To agree on values ◮ While preserving their secrecy To accept, select, or refuse commitments Often dependent on ◮ Commitments received ◮ Current local state To coordinate state changes between themselves Despite presence of malicious adversaries Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 2 / 27

  3. Electronic purchase Using a money order (EPMO protocol) Bank Customer Merchant ✲ • • � � � � • • ✛ � � � � � � • ✛ • � � � � � � � � � � ✲ • • � � � � � � � � � � � ✲ • • � � � � � � � • • ✛ Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 3 / 27

  4. EPMO Goals Agree on values Preserve confidentiality Allow decision-making Cause state change Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 4 / 27

  5. EPMO Goals Agree on values: ◮ C , M , B agree on each other’s identities and price ◮ C , M agree on goods; C , B agree on account number Preserve confidentiality Allow decision-making Cause state change Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 4 / 27

  6. EPMO Goals Agree on values: ◮ C , M , B agree on each other’s identities and price ◮ C , M agree on goods; C , B agree on account number Preserve confidentiality: Protect ◮ C ’s account number from M , outsiders ◮ goods from B , outsiders ◮ price from outsiders ◮ M ’s identity from B , unless C decides to complete ◮ Occurrence of transaction from outsiders Allow decision-making Cause state change Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 4 / 27

  7. EPMO Goals Agree on values: ◮ C , M , B agree on each other’s identities and price ◮ C , M agree on goods; C , B agree on account number Preserve confidentiality: Protect ◮ C ’s account number from M , outsiders ◮ goods from B , outsiders ◮ price from outsiders ◮ M ’s identity from B , unless C decides to complete ◮ Occurrence of transaction from outsiders Allow decision-making: ◮ C decides to spend price for goods from M ◮ M decides to sell goods to C for price ◮ B decides to transfer price Cause state change Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 4 / 27

  8. EPMO Goals Agree on values: ◮ C , M , B agree on each other’s identities and price ◮ C , M agree on goods; C , B agree on account number Preserve confidentiality: Protect ◮ C ’s account number from M , outsiders ◮ goods from B , outsiders ◮ price from outsiders ◮ M ’s identity from B , unless C decides to complete ◮ Occurrence of transaction from outsiders Allow decision-making: ◮ C decides to spend price for goods from M ◮ M decides to sell goods to C for price ◮ B decides to transfer price Cause state change: ◮ B transfers funds ◮ M issues shipping order Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 4 / 27

  9. Layers of analysis Protocol mechanics Trust management State and state change Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 5 / 27

  10. Layers of analysis Protocol mechanics ◮ Who sends what messages ◮ Accounts for ⋆ Confidentiality ⋆ Authentication and agreement Trust management State and state change Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 5 / 27

  11. Layers of analysis Protocol mechanics ◮ Who sends what messages ◮ Accounts for ⋆ Confidentiality ⋆ Authentication and agreement Trust management ◮ Decision making ◮ Accounts for ⋆ Commitments made at each step ⋆ Protocol branching or early termination State and state change Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 5 / 27

  12. Layers of analysis Protocol mechanics ◮ Who sends what messages ◮ Accounts for ⋆ Confidentiality ⋆ Authentication and agreement Trust management ◮ Decision making ◮ Accounts for ⋆ Commitments made at each step ⋆ Protocol branching or early termination State and state change ◮ Conditions and effects of the protocol run ◮ Accounts for ⋆ Initial premises supplied to trust management ⋆ Changes induced by successful run Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 5 / 27

  13. EPMO Protocol Structure, 1 ✲ M C � � � � • • ✛ � � � � � � B ✛ • � � � � � � � � � � ✲ • • � � � � � � � � � � � ✲ • • � � � � � � � • • ✛ Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 6 / 27

  14. EPMO Protocol Structure, 1 { | C , N c , goods | } M ✲ M C � � � � • • ✛ � � � � � � B ✛ • � � � � � � � � � � ✲ • • � � � � � � � � � � � ✲ • • � � � � � � � • • ✛ Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 6 / 27

  15. EPMO Protocol Structure, 1 { | C , N c , goods | } M ✲ M C � � { | N c , N m , M , price | } C • � � • ✛ � � � � � � B ✛ • � � � � � � � � � � ✲ • • � � � � � � � � � � � ✲ • • � � � � � � � • • ✛ Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 6 / 27

  16. EPMO Protocol Structure, 1 { | C , N c , goods | } M ✲ M C � � { | N c , N m , M , price | } C • � � • ✛ � � � � � � B ✛ • � � � � � � � � � � ✲ • • � � � � � � � . . . N m . . . � � � � ✲ • • � � � � � � � • • ✛ Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 6 / 27

  17. EPMO Done Wrong { | C , N c , goods | } M ✲ M C � � { | N c , N m , M , price | } C • � � • ✛ � � � � � � B ✛ • � � � � � � � � � � ✲ • • � � � � � � � � � . . . N m . . . � � ✲ • • � � � � � � � • • ✛ Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 7 / 27

  18. EPMO Done Wrong { | C , N c , goods | } M ✲ M C � � { | N c , N m , price | } C • � � • ✛ � � � � � � B ✛ • � � � � � � � � � � ✲ • • � � � � � � � � � . . . N m . . . � � ✲ • • � � � � � � � • • ✛ What if M ’s name omitted? Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 7 / 27

  19. Lowe-style attack M ′ B C M | C , N c , goods ′ | { } M ′ { | C , N c , goods | } M ✲ • ✲ • • � � � � � ✛ { | N c , N m , price | } C � • • � � � � � � � • ✛ • � � � � � � � � � � � � ✲ • � • � � � � � � � � � . . . N m . . . � � � ✲ • ✲ • � • � � � � � � � � • • ✛ Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 8 / 27

  20. EPMO Protocol Structure, 2 { | C , N c , goods | } M ✲ M C � � � � � ✛ { | N c , N m , M , price | } C � • • � � � � � { | C , N c , N m , acct # , price | } B • � � � B ✛ � � � � � � � � � � mo , { | N c , N b | } C � � ✲ • � • � � � � � � � � � mo , N b � � � ✲ • � • � � � � � � M , hash ( B , M , N b , N m ) • � � • ✛ mo = [ [ hash ( C , N c , N b , N m , price ) ] ] B Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 9 / 27

  21. Protocol Executions are Bundles Vertical columns are strands ◮ Local, session-specific sequences ◮ Could also represent adversary activity Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 10 / 27

  22. Protocol Executions are Bundles Vertical columns are strands ◮ Local, session-specific sequences ◮ Could also represent adversary activity Transmissions, receptions on strands called “nodes” ◮ Positive for send ◮ Negative for receive Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 10 / 27

  23. Protocol Executions are Bundles Vertical columns are strands ◮ Local, session-specific sequences ◮ Could also represent adversary activity Transmissions, receptions on strands called “nodes” ◮ Positive for send ◮ Negative for receive Bundle B : causally well-founded execution Finite acyclic graph where ◮ Every reception − t has a unique transmission + t where + t → − t ◮ When n i ⇒ n i + 1 on same strand, and n i + 1 in B , then n i in B Joshua D. Guttman (MITRE) Doing Things with Protocols Asian 2007 10 / 27

Recommend


More recommend