SlideShare uma empresa Scribd logo
1 de 43
By Guruh Purnama WINpulsa.com ProposedStandard ProtocolHost-Host
Background
Who we are Winpulsa Not Developer – Not Selling Software to customer Distributor Service Company We are User, Partnering with Developer Winpulsa: IT Company: Content Provider, Application Service Provider Partnering: Operator Cellular, Banking All System developed by In-house developer
What we needs Protocol: Plug & Play Secure Reliable Performance  Trustable
What is Standard ? Acceptable Adoptable Scalable Agreeable Trustable
What to be standardized ? Process Method Format Field & Parameter Status Security
Requirement Multi Transports HTTP/S YM – Yahoo Messenger Protocol XMPP/Jabber/G-Talk JMS/AMQP Any Language	 PHP .NET Java Python Ruby Delphi / Pascal
Transaction/Order Process
Process Request - Response  Synchronous / Active Client Report –  Asynchronous / Passive Client  Inquiry – Result  Synchronous / Active Client	 HTTP - Dynamic IP
Process – Synchronous Client Server Request Phase 1 Report Process Phase 2 Inquiry Phase 3 Result
Process – Sync/Asynchronous Client Server Request Phase 1 Response Process Phase 2 Report Phase 3 Confirm Inquiry Phase 4 Result
Process – Phase 1 Phase 1 (Internal) Authentication – User id, password, PIN Admin:	has enough Balance, etc Validation: Product Code, etc
Process – Phase 2 Phase 2 (External) On Progress Failed Transaction Success Transaction
Process – Phase 2 - External  On Progress Client Server Success Failed
Process – Phase3 - Report Phase 3  Report result from the Transaction process  Phase 3 – client must confirm Authentication By Client On Progress Failed Success
Process – Phase 3 - Report On Progress Server Client Success Failed
Process – Phase 4 - Inquiry Inquiry just like Report but more on Client side that active Can be used for checking & validating last transaction Inquiry Process Authentication By Server On Progress Failed Success
Process – Phase 4 - Inquiry On Progress Client Server Success Failed
Method
Method Message Passing Asynchronous YM,JMS One - Many Node More Flexible Can be Transformed, Filtered & Controlled etc RPC – Remote Procedure Call Synchronous XMLRPC,SOAP One – One Node Rigid
Format
Format Binary/Bitmap based – More Machine language ISO 8583 - Financial transaction card originated messages Binary XML Faster  Text based – More Human readable JSON,XML,YAML Slower but easy to maintain
Parameters
Request Reference ID – Integer Transaction Time – Integer User ID – String MD5 Password – String MD5/SH1 Generated – MD5(Time + Password) Product ID – String MSISDN – String
Response Request ID – Integer Reference ID – Integer Response Time – Numeric  14 Digits - YYYYMMDDhhiiss Status – Integer
Report Report ID - Integer Request ID - Integer Reference ID – Integer Report Time - Numeric  Transaction Time – Numeric  User ID – String MD5 Password - String Status – Integer Serial Number - Integer Message - String
Confirm Confirm ID – Integer Report ID – Integer Confirm Time – Numeric  Status – Integer Message - String
Inquiry Reference ID – Integer Inquiry Time – Integer User ID – String MD5 Password – String MD5/SH1 Generated – MD5(Time + Password)
Result Result ID - Integer Request ID - Integer Reference ID - Integer Transaction Time – Numeric  Status – Integer Serial Number - Integer Message - String Optional: Price - Float
Additional Processes
Additional Process Accounting Info Product Info Other importance business process
Process – Accounting Info For checking status client’s accounting information Result Fields: Transaction Time – DateTime Numeric Last Deposit – Datetime Numeric Amount Last Deposit - Float Last Transaction – Datetime numeric Amount last Transaction - Float Current Balance - Float Status - Integer Message - String
Process – Product Info For automated product price & quota checking Result Fields: Transaction Time – DateTime Numeric Product Code - String Price – Float Quota - Integer Status - Integer Message - String
Status
Status Type Status – Must Be Clear and Detail – Cannot be General Success Cannot be retried Method Automatic Manual Failed Caused By Client: Invalid: password, MSISDN etc  Caused By Server: Out of Stock, Internal Error Retry able Don’t-Retry able Method Automatic Manual
Status - Categorical Digit 8 Digit Status Code in Unsigned Integer MEDIUMINT for MYSQL Field Type 1 Digit – Process Code = 1 Transaction 1 Digit – Phase = 1,3,5,6 1 Digit – By Client=1, By Server=2    1 Digit – Retry=1, Don’t Retry=2  1 Digit – State = On Progress=1, Failed=2, Success=3 3 Digit – Detail
Status User/Pass Failed: 1-1-1-2-001 => 11112001 Out of Stock: 3-2-1-2-101 => 13212101 Success Transaction: 3-2-1-3-500  => 13213500 Inquiry Failed – Internal Error: 6-2-1-2-201 => 16212201
Security
Security Data is Valuable ==== Money ! Message Must be Secure Only 2 Machine can be read/write Data must be Encrypted !! Encrypted with Exchanged Trusted Key
Encrypted Data Flow Key A A B Encrypt Decrypt Encrypt Encrypt Key B
Key & Encrypted Function Key generated by trusted organization/forum Encryption Function: SHA-1 Maintain key for period of time (1 Month)
What Next
What next ? This is just beginning …  Version 1.0 Continue improvement There will be Version 2.0, 3.0 etc

Mais conteúdo relacionado

Semelhante a Standard Protocol for Host-Host by Guruh Purnama - Winpulsa.com

ppt_project_group_2.ppt amnd project report
ppt_project_group_2.ppt amnd project reportppt_project_group_2.ppt amnd project report
ppt_project_group_2.ppt amnd project reportsobanmoriwala1
 
Le petro presentation
Le petro presentationLe petro presentation
Le petro presentationstartechindia
 
Safex pay avantgarde -presentation
Safex pay avantgarde -presentationSafex pay avantgarde -presentation
Safex pay avantgarde -presentationNeha Sahay
 
PayU Biz Product Deck (1)
PayU Biz Product Deck (1)PayU Biz Product Deck (1)
PayU Biz Product Deck (1)ICICI Bank
 
HITEC 2012: Hard Codes to Crack: Tokenization, Encryption-at-Swipe and Friends
HITEC 2012: Hard Codes to Crack: Tokenization, Encryption-at-Swipe and FriendsHITEC 2012: Hard Codes to Crack: Tokenization, Encryption-at-Swipe and Friends
HITEC 2012: Hard Codes to Crack: Tokenization, Encryption-at-Swipe and FriendsMerchant Link
 
How to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptxHow to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptxChanna Ly
 
How to View/ open/ update/ close SOLMAN tickets
How to View/ open/ update/ close SOLMAN ticketsHow to View/ open/ update/ close SOLMAN tickets
How to View/ open/ update/ close SOLMAN ticketsyuppy
 
SecureOTP: Total One-Time-Password Solution
SecureOTP: Total One-Time-Password SolutionSecureOTP: Total One-Time-Password Solution
SecureOTP: Total One-Time-Password SolutionRafidah Ariffin
 
Long running processes in DDD
Long running processes in DDDLong running processes in DDD
Long running processes in DDDBernd Ruecker
 
Introduction to EDI(Electronic Data Interchange)
Introduction to EDI(Electronic Data Interchange)Introduction to EDI(Electronic Data Interchange)
Introduction to EDI(Electronic Data Interchange)Siva Arunachalam
 
Already Have a Solution?
Already Have a Solution? Already Have a Solution?
Already Have a Solution? PortalGuard
 
YESpay Corporate Presentation 2009
YESpay Corporate Presentation 2009YESpay Corporate Presentation 2009
YESpay Corporate Presentation 2009guest3e40ef
 
Introducing safexpay smart NBFC solution
Introducing safexpay smart NBFC solutionIntroducing safexpay smart NBFC solution
Introducing safexpay smart NBFC solutionNeha Sahay
 
2 - Pattyn - Smart Products Webinar 03-02-2023.
2 - Pattyn - Smart Products Webinar 03-02-2023.2 - Pattyn - Smart Products Webinar 03-02-2023.
2 - Pattyn - Smart Products Webinar 03-02-2023.Sirris
 

Semelhante a Standard Protocol for Host-Host by Guruh Purnama - Winpulsa.com (20)

ppt_project_group_2.ppt amnd project report
ppt_project_group_2.ppt amnd project reportppt_project_group_2.ppt amnd project report
ppt_project_group_2.ppt amnd project report
 
Le petro presentation_new
Le petro presentation_newLe petro presentation_new
Le petro presentation_new
 
Le petro presentation
Le petro presentationLe petro presentation
Le petro presentation
 
Safex pay avantgarde -presentation
Safex pay avantgarde -presentationSafex pay avantgarde -presentation
Safex pay avantgarde -presentation
 
PayU Biz Product Deck (1)
PayU Biz Product Deck (1)PayU Biz Product Deck (1)
PayU Biz Product Deck (1)
 
10 1 otp all
10 1 otp all10 1 otp all
10 1 otp all
 
HITEC 2012: Hard Codes to Crack: Tokenization, Encryption-at-Swipe and Friends
HITEC 2012: Hard Codes to Crack: Tokenization, Encryption-at-Swipe and FriendsHITEC 2012: Hard Codes to Crack: Tokenization, Encryption-at-Swipe and Friends
HITEC 2012: Hard Codes to Crack: Tokenization, Encryption-at-Swipe and Friends
 
How to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptxHow to build Simple yet powerful API.pptx
How to build Simple yet powerful API.pptx
 
Intro ppt
Intro pptIntro ppt
Intro ppt
 
One-Time Password
One-Time PasswordOne-Time Password
One-Time Password
 
How to View/ open/ update/ close SOLMAN tickets
How to View/ open/ update/ close SOLMAN ticketsHow to View/ open/ update/ close SOLMAN tickets
How to View/ open/ update/ close SOLMAN tickets
 
SecureOTP: Total One-Time-Password Solution
SecureOTP: Total One-Time-Password SolutionSecureOTP: Total One-Time-Password Solution
SecureOTP: Total One-Time-Password Solution
 
Bolt_saurabh
Bolt_saurabhBolt_saurabh
Bolt_saurabh
 
Long running processes in DDD
Long running processes in DDDLong running processes in DDD
Long running processes in DDD
 
Introduction to EDI(Electronic Data Interchange)
Introduction to EDI(Electronic Data Interchange)Introduction to EDI(Electronic Data Interchange)
Introduction to EDI(Electronic Data Interchange)
 
Already Have a Solution?
Already Have a Solution? Already Have a Solution?
Already Have a Solution?
 
YESpay Corporate Presentation 2009
YESpay Corporate Presentation 2009YESpay Corporate Presentation 2009
YESpay Corporate Presentation 2009
 
Dalton Jim
Dalton JimDalton Jim
Dalton Jim
 
Introducing safexpay smart NBFC solution
Introducing safexpay smart NBFC solutionIntroducing safexpay smart NBFC solution
Introducing safexpay smart NBFC solution
 
2 - Pattyn - Smart Products Webinar 03-02-2023.
2 - Pattyn - Smart Products Webinar 03-02-2023.2 - Pattyn - Smart Products Webinar 03-02-2023.
2 - Pattyn - Smart Products Webinar 03-02-2023.
 

Standard Protocol for Host-Host by Guruh Purnama - Winpulsa.com

  • 1. By Guruh Purnama WINpulsa.com ProposedStandard ProtocolHost-Host
  • 3. Who we are Winpulsa Not Developer – Not Selling Software to customer Distributor Service Company We are User, Partnering with Developer Winpulsa: IT Company: Content Provider, Application Service Provider Partnering: Operator Cellular, Banking All System developed by In-house developer
  • 4. What we needs Protocol: Plug & Play Secure Reliable Performance Trustable
  • 5. What is Standard ? Acceptable Adoptable Scalable Agreeable Trustable
  • 6. What to be standardized ? Process Method Format Field & Parameter Status Security
  • 7. Requirement Multi Transports HTTP/S YM – Yahoo Messenger Protocol XMPP/Jabber/G-Talk JMS/AMQP Any Language PHP .NET Java Python Ruby Delphi / Pascal
  • 9. Process Request - Response Synchronous / Active Client Report – Asynchronous / Passive Client Inquiry – Result Synchronous / Active Client HTTP - Dynamic IP
  • 10. Process – Synchronous Client Server Request Phase 1 Report Process Phase 2 Inquiry Phase 3 Result
  • 11. Process – Sync/Asynchronous Client Server Request Phase 1 Response Process Phase 2 Report Phase 3 Confirm Inquiry Phase 4 Result
  • 12. Process – Phase 1 Phase 1 (Internal) Authentication – User id, password, PIN Admin: has enough Balance, etc Validation: Product Code, etc
  • 13. Process – Phase 2 Phase 2 (External) On Progress Failed Transaction Success Transaction
  • 14. Process – Phase 2 - External On Progress Client Server Success Failed
  • 15. Process – Phase3 - Report Phase 3 Report result from the Transaction process Phase 3 – client must confirm Authentication By Client On Progress Failed Success
  • 16. Process – Phase 3 - Report On Progress Server Client Success Failed
  • 17. Process – Phase 4 - Inquiry Inquiry just like Report but more on Client side that active Can be used for checking & validating last transaction Inquiry Process Authentication By Server On Progress Failed Success
  • 18. Process – Phase 4 - Inquiry On Progress Client Server Success Failed
  • 20. Method Message Passing Asynchronous YM,JMS One - Many Node More Flexible Can be Transformed, Filtered & Controlled etc RPC – Remote Procedure Call Synchronous XMLRPC,SOAP One – One Node Rigid
  • 22. Format Binary/Bitmap based – More Machine language ISO 8583 - Financial transaction card originated messages Binary XML Faster Text based – More Human readable JSON,XML,YAML Slower but easy to maintain
  • 24. Request Reference ID – Integer Transaction Time – Integer User ID – String MD5 Password – String MD5/SH1 Generated – MD5(Time + Password) Product ID – String MSISDN – String
  • 25. Response Request ID – Integer Reference ID – Integer Response Time – Numeric 14 Digits - YYYYMMDDhhiiss Status – Integer
  • 26. Report Report ID - Integer Request ID - Integer Reference ID – Integer Report Time - Numeric Transaction Time – Numeric User ID – String MD5 Password - String Status – Integer Serial Number - Integer Message - String
  • 27. Confirm Confirm ID – Integer Report ID – Integer Confirm Time – Numeric Status – Integer Message - String
  • 28. Inquiry Reference ID – Integer Inquiry Time – Integer User ID – String MD5 Password – String MD5/SH1 Generated – MD5(Time + Password)
  • 29. Result Result ID - Integer Request ID - Integer Reference ID - Integer Transaction Time – Numeric Status – Integer Serial Number - Integer Message - String Optional: Price - Float
  • 31. Additional Process Accounting Info Product Info Other importance business process
  • 32. Process – Accounting Info For checking status client’s accounting information Result Fields: Transaction Time – DateTime Numeric Last Deposit – Datetime Numeric Amount Last Deposit - Float Last Transaction – Datetime numeric Amount last Transaction - Float Current Balance - Float Status - Integer Message - String
  • 33. Process – Product Info For automated product price & quota checking Result Fields: Transaction Time – DateTime Numeric Product Code - String Price – Float Quota - Integer Status - Integer Message - String
  • 35. Status Type Status – Must Be Clear and Detail – Cannot be General Success Cannot be retried Method Automatic Manual Failed Caused By Client: Invalid: password, MSISDN etc Caused By Server: Out of Stock, Internal Error Retry able Don’t-Retry able Method Automatic Manual
  • 36. Status - Categorical Digit 8 Digit Status Code in Unsigned Integer MEDIUMINT for MYSQL Field Type 1 Digit – Process Code = 1 Transaction 1 Digit – Phase = 1,3,5,6 1 Digit – By Client=1, By Server=2 1 Digit – Retry=1, Don’t Retry=2 1 Digit – State = On Progress=1, Failed=2, Success=3 3 Digit – Detail
  • 37. Status User/Pass Failed: 1-1-1-2-001 => 11112001 Out of Stock: 3-2-1-2-101 => 13212101 Success Transaction: 3-2-1-3-500 => 13213500 Inquiry Failed – Internal Error: 6-2-1-2-201 => 16212201
  • 39. Security Data is Valuable ==== Money ! Message Must be Secure Only 2 Machine can be read/write Data must be Encrypted !! Encrypted with Exchanged Trusted Key
  • 40. Encrypted Data Flow Key A A B Encrypt Decrypt Encrypt Encrypt Key B
  • 41. Key & Encrypted Function Key generated by trusted organization/forum Encryption Function: SHA-1 Maintain key for period of time (1 Month)
  • 43. What next ? This is just beginning … Version 1.0 Continue improvement There will be Version 2.0, 3.0 etc