Developing Bullet-Proof Payment Applications for Mobile and Consumer Electronic Devices

1,080
-1

Published on

This session covers the technical approach to embedding payment functionality in applications. Attendees should be somewhat familiar with PayPal payment flows, knowledgeable about security risks, and aware of secure application development practices and methodologies.

Published in: Technology, Business
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,080
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Developing Bullet-Proof Payment Applications for Mobile and Consumer Electronic Devices

  1. 1. BUILDING BULLET-PROOF PAYMENT APPLICATIONS FOR MOBILE AND CONSUMER ELECTRONICS DEVICES Hadi Nahari, Principal Security & Devices Architect PayPal Emerging Technologies
  2. 2. AGENDA <ul><li>Landscape </li></ul><ul><li>Requirements </li></ul><ul><li>Model </li></ul><ul><li>{ToDo || !ToDo}; That’s the Q </li></ul>
  3. 3. LANDSCAPE: FACTS ABOUT MOBILE <ul><li>Internet access (all means) </li></ul><ul><ul><li>> 1 billion/day </li></ul></ul><ul><li>Cellular network access </li></ul><ul><ul><li>~ 4 billion/day </li></ul></ul><ul><li>Mobile is the only digital system many people will ever encounter. </li></ul>
  4. 4. NEW USE CASES From Back Pocket to Front Pocket From Paper to Virtual Tickets From Paper to Virtual Coupons From Mass to Personalized From Pre-Sale to In-Store
  5. 5. MOBILE IDENTITY CRISIS <ul><li>Complex landscape </li></ul><ul><li>Identity proliferation </li></ul><ul><li>Many players </li></ul><ul><ul><li>Neither trusts others </li></ul></ul><ul><li>Heterogeneous identity </li></ul><ul><li>environment </li></ul>Retailers Banks Card Associations Mobile Network Operators Regulators Chip Vendors Trusted Service Manager Device Manufacturers
  6. 6. MANY STANDARDIZATION BODIES <ul><li>Global Platform </li></ul><ul><ul><li>Smart Card infrastructure </li></ul></ul><ul><li>Open Mobile Terminal Platform (OMTP) </li></ul><ul><ul><li>Usability </li></ul></ul><ul><ul><li>Economic security </li></ul></ul><ul><li>Open Mobile Alliance (OMA) </li></ul><ul><ul><li>Decoupling </li></ul></ul><ul><ul><li>Interoperability </li></ul></ul><ul><li>Near Field Communication (NFC) Forum </li></ul><ul><ul><li>Proximity </li></ul></ul><ul><li>European Telecommunications Standards Institute (ETSI) </li></ul><ul><ul><li>Telecom integration </li></ul></ul>
  7. 7. YEAH, AND THE NETWORK… <ul><li>The network is solated from other systems, such as the Internet. </li></ul><ul><li>Design assumptions are fundamentally different. </li></ul><ul><li>The application should know how the network operates. </li></ul>
  8. 8. WHAT’S A PLATFORM? <ul><li>Marc Andreessen </li></ul><ul><li>A &quot;platform&quot; is a system that can be programmed and therefore customized by outside developers and in that way, adapted to countless needs and niches that the platform's original developers could not have possibly contemplated, much less had time to accommodate. </li></ul><ul><li>By definition a platform is open. How open? </li></ul><ul><ul><li>the “ we decide for you ” model </li></ul></ul><ul><ul><li>the “ don’t be evil” model </li></ul></ul>
  9. 9. AGENDA <ul><li>Landscape </li></ul><ul><li>Requirements </li></ul><ul><li>Model </li></ul><ul><li>{ToDo || !ToDo}; That’s the Q </li></ul>
  10. 10. OPEN PLATFORM MODEL (OPM) Portal App. N App. 0 Development SDK. N SDK. 1 SDK. 0 App. 1 App. N App. N App. N App. N App. M Deployment Download Device App. N App. 0 App. 1
  11. 11. CLEARLY… <ul><li>OPM is a distributed platform </li></ul><ul><li>By definition it is open </li></ul><ul><li>Realizes abstraction </li></ul><ul><ul><li>Generic services </li></ul></ul><ul><ul><li>Modularization </li></ul></ul><ul><ul><li>Leaky abstractions? </li></ul></ul><ul><li>OPM generations </li></ul>
  12. 12. OPM SECURITY REQUIREMENTS <ul><li>Environment </li></ul><ul><li>Autonomous governance of </li></ul><ul><ul><li>Key material </li></ul></ul><ul><ul><li>Identities </li></ul></ul><ul><li>Secure isolation </li></ul><ul><li>Cohabitation </li></ul><ul><ul><li>Well-defined interaction contracts </li></ul></ul><ul><li>Objects </li></ul><ul><li>Authentication </li></ul><ul><li>Asset protection </li></ul><ul><ul><li>At rest </li></ul></ul><ul><ul><li>In transit </li></ul></ul><ul><li>Channel protection </li></ul>
  13. 13. AGENDA <ul><li>Landscape </li></ul><ul><li>Requirements </li></ul><ul><li>Model </li></ul><ul><li>{ToDo || !ToDo}; That’s the Q </li></ul>
  14. 14. OBJECTS’ SECURITY MESH MNO Financial Portal App. N App. 0 App. 1 Retailer Regulator
  15. 15. ABSTRACT MODEL Cloud_m Cloud_n ID Claims Protection Declarations Enforcement Mechanisms Unforgeable, as in capability model Authorization Framework Claims Verification Authorization Framework Claims Verification
  16. 16. OBJECTS’ RESPONSIBILITIES <ul><li>Declares own security requirements </li></ul><ul><li>Authenticates the environment </li></ul><ul><li>Protects the key material </li></ul><ul><ul><li>Claims </li></ul></ul><ul><ul><li>Requirement </li></ul></ul><ul><ul><li>And so on </li></ul></ul>Protected by object itself Declaration is a security asset ID Claims Protection Declarations Enforcement Mechanisms
  17. 17. ENVIRONMENT’S MANDATE <ul><li>Authenticates objects </li></ul><ul><ul><li>Based on objects’ claims </li></ul></ul><ul><li>Authorizes interactions </li></ul><ul><ul><li>Among objects </li></ul></ul><ul><ul><li>Between environments </li></ul></ul>Authorization Framework Claims Verification
  18. 18. INTER-OBJECT COMMUNICATION <ul><li>Based on objects’ declarations </li></ul><ul><li>Environment facilitates only if authorized </li></ul>? Authorization Framework Claims Verification ID Claims Protection Declarations Enforcement Mechanisms ID Claims Protection Declarations Enforcement Mechanisms
  19. 19. INTER-ENVIRONMENT COMMUNICATION <ul><li>Based on mutually-agreed declarations </li></ul><ul><li>Only if allowed by both environments </li></ul>Cloud_m Cloud_n ? ? ? Authorization Framework Claims Verification ID Claims Protection Declarations Enforcement Mechanisms Authorization Framework Claims Verification ? ID Claims Protection Declarations Enforcement Mechanisms
  20. 20. AGENDA <ul><li>Landscape </li></ul><ul><li>Requirements </li></ul><ul><li>Model </li></ul><ul><li>{ToDo || !ToDo}; That’s the Q </li></ul>
  21. 21. {TODO || !TODO}; DECOUPLING <ul><li>The model decouples authorization decisions. </li></ul><ul><ul><li>Allows autonomy of environments </li></ul></ul><ul><ul><li>Enables flexible business models </li></ul></ul><ul><li>Objects authenticate environments too. </li></ul><ul><ul><li>Execution is based on mutual agreement. </li></ul></ul>
  22. 22. FURTHER WORK <ul><li>Conflict resolution </li></ul><ul><ul><li>Among objects </li></ul></ul><ul><ul><li>In between environments </li></ul></ul><ul><li>Allowing the environment to modify objects declaration </li></ul><ul><ul><li>Temporarily </li></ul></ul><ul><ul><li>Permanently </li></ul></ul><ul><li>Updating objects declarations </li></ul><ul><ul><li>While in transit in between environments </li></ul></ul>
  23. 23. CONCLUDING THOUGHTS <ul><li>Build solid security… </li></ul><ul><li>… and a usable one ... </li></ul><ul><li>Know your enemies </li></ul><ul><li>Identify threats </li></ul><ul><li>Use and reuse </li></ul>
  24. 24. MORE INFORMATION <ul><li>Cryptography is hard: don’t mess with it! </li></ul><ul><li>Solid Vulnerability Assessment & Threat Analysis (VATA) pays off! </li></ul><ul><li>Be mindful of various operating system versions in embedded. </li></ul><ul><ul><li>Linux-based: Android, Chrome </li></ul></ul><ul><ul><li>iPhone </li></ul></ul><ul><ul><li>Windows CE </li></ul></ul><ul><ul><li>Symbian </li></ul></ul><ul><ul><li>MultOS </li></ul></ul><ul><ul><li>… </li></ul></ul>
  25. 25. LEARN AND SHARE <ul><li>www.x.com </li></ul><ul><li>Twitter: @paypalx </li></ul><ul><li>www.facebook.com/paypalx </li></ul><ul><li>Innovate 09 hashtag: #ppxi09 </li></ul>LEARN AND SHARE www.x.com Twitter: @paypalx www.facebook.com/paypalx Innovate 09 hashtag: # ppxi09 Proprietary

×