1 / 21

SWAPEROO

SWAPEROO. A Simple Wallet Architecture for Payments, Exchanges, Refunds, and Other Operations. Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University. Goals. Desirable wallet properties / features Define wallet interaction model

jason
Download Presentation

SWAPEROO

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SWAPEROO A Simple Wallet Architecture for Payments, Exchanges, Refunds, and Other Operations Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University

  2. Goals • Desirable wallet properties / features • Define wallet interaction model • Define Clean APIs for wallet and its components • Build Prototype

  3. Wallet Features • Extensible: support multiple existing and newly developed instruments and protocols • Non-Web-Centric: can be implemented in non-web environments; extensibility across devices • Symmetric: common services across commerce applications; extensibility across commerce applications • Client-Driven: user initiates all operations, including wallet invocation

  4. An Example • Session Initiation • Dilbert -> Amazon.com • Instrument Class Negotiation • Dilbert: MasterCard, PonyCash, CyberCoin • Amazon.Com: MasterCard, VISA, CyberCoin • ==> MasterCard, CyberCoin

  5. An Example • Protocol Negotiation for MasterCard • Dilbert: SET (2KP) • Amazon.Com: SET (2KP), SET (3KP), or Unencrypted • ==> SET (2KP) • Protocol Selection: SET (2KP) • Available Operations: PAY, CREDIT

  6. An Example • Instrument Instance Selection: Dilbert’s Citibank MasterCard • Transaction Execution • SET (2KP) PAY • Close Session

  7. User Interface API User Profile Manager User Interface Instrument Manager Wallet Controller Client API Instrument Instances Protocol Manager Protocols Communication Manager SWAPEROO Architecture

  8. Function Descriptions • Instrument Manager: encryption of instruments • Protocol Manager: protocol invocation • Communication Manager: low-level, synchronous messaging • User Profile Manager: stores access control information • Wallet Controller: coordinates wallet operations & enforces access control

  9. Customer Profile Manager UI UI Instrument Manager Instrument Manager Vendor Controller Bank Controller Protocol Manager Protocol Manager Communication Manager Communication Manager Symmetric Vendors/Banks Vendor Wallet Bank Wallet Account Profile Manager

  10. Open Session Instrument Class Negotiation Protocol Negotiation Protocol Selection Instrument Selection Transaction Execution Close Session Wallet Interaction Model • Open Session • Instrument Class Negotiation • Protocol Negotiation • Protocol Selection • Instrument Selection • Transaction Execution • Close Session

  11. Wallet Interaction Model Open Session • Open Session • Instrument Class Negotiation • Protocol Negotiation • Protocol Selection • Instrument Selection • Transaction Execution • Close Session Instrument Class Negotiation Protocol Negotiation Protocol Selection Instrument Selection Transaction Execution Close Session

  12. Instrument Class Negotiation User Wallet Vendor Wallet User Profile Manager UI Customer Profile Manager UI Instrument Manager Wallet Controller Instrument Manager Vendor Controller Protocol Manager Protocol Manager Communication Manager Communication Manager

  13. Wallet Interaction Model Open Session • Open Session • Instrument Class Negotiation • Protocol Negotiation • Protocol Selection • Instrument Selection • Transaction Execution • Close Session Instrument Class Negotiation Protocol Negotiation Protocol Selection Instrument Selection Transaction Execution Close Session

  14. Transaction Execution User Wallet Vendor Wallet User Profile Manager UI Customer Profile Manager UI Instrument Manager Wallet Controller Instrument Manager Vendor Controller Protocol Manager Protocol Manager Communication Manager Communication Manager

  15. Wallet User Profile SET Wallet SET Controller Protocol Manager Controller Protocol Transaction Execution End-User Wallet Vendor Wallet User Vendor Application Application subscribe (EXECUTE_TRANSACTION) executeTransaction(inv, Citibank Mastercard,PAY) checkPrivileges (inv, Citibank Mastercard, PAY) OK EXECUTE TRANSACTION SETProtocol2KP PAY OK doOperation(PAY, Citibank Mastercard,PAY) doOperation(PAY,Citibank Mastercard,PAY) notify (EXECUTE_TRANSACTION)

  16. Transaction Execution

  17. User Interface API User Profile Manager User Interface Instrument Manager Wallet Controller Client API Instrument Instances Protocol Manager Protocols Communication Manager Trade-offs / Issues • Where to put what functionality?

  18. Open Session Instrument Class Negotiation Protocol Negotiation Protocol Selection Instrument Selection Transaction Execution Close Session Trade-offs / Issues • User Interaction • number of steps vs. likelihood of an error

  19. User Profile Manager User Interface User Interface API Instrument Manager Wallet Controller Client API Instrument Instances Protocol Manager Protocols Communication Manager Trade-offs / Issues • Security vs. Customization • i.e., User Interface & UI API

  20. Implementation &Future Work • Implementation • C++ (PalmOS) • Java (Windows) • PonyCash • Future Work • Populate the wallet • Experiment with other devices/environments (i.e. smart cards, mobile phones, web, etc.) • Abstract Data Manager

  21. Summary / Contributions • Desirable wallet properties: extensibile, symmetric, non-web-centric, client-driven • Defined wallet interaction model • Clean APIs for wallet and its components • Prototype Implementation in Java & C++(available at http://www-db.stanford.edu/~daswani/wallets/)

More Related