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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend