1 swaperoo neil daswani, dan boneh, hector garcia-molina, steven ketchpel, andreas paepcke stanford...
Post on 21-Dec-2015
219 views
TRANSCRIPT
![Page 1: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/1.jpg)
1
SWAPEROO
Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University
A Simple Wallet Architecture for Payments, Exchanges, Refunds, and Other Operations
![Page 2: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/2.jpg)
2
Goals
Desirable wallet properties / features
Define wallet interaction model
Define Clean APIs for wallet and its components
Build Prototype
![Page 3: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/3.jpg)
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
![Page 4: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/4.jpg)
4
An Example
Session Initiation Dilbert -> Amazon.com
Instrument Class Negotiation Dilbert: MasterCard,
PonyCash, CyberCoin Amazon.Com: MasterCard,
VISA, CyberCoin ==> MasterCard, CyberCoin
![Page 5: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/5.jpg)
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
![Page 6: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/6.jpg)
6
An Example
Instrument Instance Selection: Dilbert’s Citibank MasterCard
Transaction Execution SET (2KP) PAY
Close Session
![Page 7: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/7.jpg)
7
SWAPEROO Architecture
User Profile Manager
Instrument Manager
Protocol Manager
Communication Manager
WalletController
UserInterface
ClientAPI
UserInterfaceAPI
Instrument Instances
Protocols
![Page 8: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/8.jpg)
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
![Page 9: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/9.jpg)
9
Symmetric Vendors/Banks
Customer Profile Manager
Instrument Manager
Protocol Manager
Communication Manager
VendorController
UI
Instrument Manager
Protocol Manager
Communication Manager
BankController
UI
Vendor Wallet Bank Wallet
Account Profile Manager
![Page 10: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/10.jpg)
10
Wallet Interaction Model
Open SessionInstrument Class
NegotiationProtocol NegotiationProtocol SelectionInstrument SelectionTransaction ExecutionClose Session
Open Session
Instrument ClassNegotiation
ProtocolNegotiation
ProtocolSelection
InstrumentSelection
CloseSession
TransactionExecution
![Page 11: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/11.jpg)
11
Wallet Interaction Model
Open SessionInstrument Class Instrument Class
NegotiationNegotiationProtocol NegotiationProtocol SelectionInstrument SelectionTransaction ExecutionClose Session
Open Session
Instrument ClassNegotiation
ProtocolNegotiation
ProtocolSelection
InstrumentSelection
CloseSession
TransactionExecution
![Page 12: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/12.jpg)
12
Instrument Class Negotiation
User Profile Manager
Instrument Manager
Protocol Manager
Communication Manager
WalletController
UI Customer Profile Manager
Instrument Manager
Protocol Manager
Communication Manager
VendorController
UI
User Wallet Vendor Wallet
![Page 13: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/13.jpg)
13
Wallet Interaction Model
Open SessionInstrument Class NegotiationProtocol NegotiationProtocol SelectionInstrument SelectionTransaction ExecutionTransaction ExecutionClose Session
Open Session
Instrument ClassNegotiation
ProtocolNegotiation
ProtocolSelection
InstrumentSelection
CloseSession
TransactionExecution
![Page 14: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/14.jpg)
14
Transaction Execution
User Profile Manager
Instrument Manager
Protocol Manager
Communication Manager
WalletController
UI Customer Profile Manager
Instrument Manager
Protocol Manager
Communication Manager
VendorController
UI
User Wallet Vendor Wallet
![Page 15: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/15.jpg)
15
Transaction Execution
subscribe(EXECUTE_TRANSACTION)
VendorApplication
SETProtocol
checkPrivileges (inv, Citibank Mastercard, PAY)
OK
WalletController
Vendor Wallet
executeTransaction(inv,Citibank Mastercard,PAY)
UserApplication
WalletController
User ProfileManager
SETProtocol
doOperation(PAY,Citibank Mastercard,PAY)
EXECUTE TRANSACTION SETProtocol2KP PAY
doOperation(PAY,Citibank Mastercard,PAY)
OK
notify (EXECUTE_TRANSACTION)
End-User Wallet
![Page 16: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/16.jpg)
16
Transaction Execution
![Page 17: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/17.jpg)
17
Trade-offs / Issues
Where to put what functionality?
User Profile Manager
Instrument Manager
Protocol Manager
Communication Manager
WalletController
UserInterface
ClientAPI
UserInterfaceAPI
Instrument Instances
Protocols
![Page 18: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/18.jpg)
18
Trade-offs / Issues
User Interaction number of steps vs.
likelihood of an error
Open Session
Instrument ClassNegotiation
ProtocolNegotiation
ProtocolSelection
InstrumentSelection
CloseSession
TransactionExecution
![Page 19: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/19.jpg)
19
Trade-offs / Issues
Security vs. Customization i.e., User Interface & UI API
User Profile Manager
Instrument Manager
Protocol Manager
Communication Manager
WalletController
UserInterface
ClientAPI
UserInterfaceAPI
Instrument Instances
Protocols
![Page 20: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/20.jpg)
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
![Page 21: 1 SWAPEROO Neil Daswani, Dan Boneh, Hector Garcia-Molina, Steven Ketchpel, Andreas Paepcke Stanford University A Simple Wallet Architecture for Payments,](https://reader030.vdocuments.us/reader030/viewer/2022032521/56649d5a5503460f94a3ade9/html5/thumbnails/21.jpg)
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/)