NOTE: ปัจจุบัน Any ID คือ PromptPay ที่ใช้งานกันครับ
เมื่อวันศุกร์ที่ผ่านมา 30 มิ.ย. 59 มีงานสัมมนา Any ID Privacy โดยคุณ Narudom Roongsiriwong ที่ Software Park ชั้น 3 ห้อง Auditorium ครับ แต่ตอนแรก ผมติดสอน User ในการ Maintain ระบบ Treasury ที่ Software Park เหมือนกันครับ เลยไม่ได้สมัครไป แต่พอเทรนจริงกลับเลิกเร็วกว่าที่คิด เลยแว๊บเข้ามาฟังครับ
ก่อนที่เราเข้าไปในส่วนของ Any ID เราต้องรู้ถึงที่มาที่ไปก่อน ว่าทำไมถึงต้องมีระบบนี้ขึ้นมาหละ เจ้าตัว Any ID มันเป็นส่วนหนึ่งของโครงการ National E-Payment ที่ทางภาครัฐเล็งเห็นปัญหาของการจับจ่ายอันเดิม (การเคลื่อนไหวของเงิน)ได้แก่
- Bank Note & Coin - พวก ธนบัตร เหรียญ ที่เราใช้ๆกันอยู่ประจำทุกวันแหละ ตรงนี้ทางภาครัฐไม่รู้มูลค่าที่แท้จริง แต่มีปริมาณธุรกรรมถึง 70-80% มากที่สุด เมื่อทียบกับแบบอื่นๆ โดยภาครัฐได้แค่ประมาณการเท่านั้น ดูจากเงินที่ใส่เข้าไปในระบบเศรษฐกิจ
- Paper based cheque - เช็ค
- Payment Card - พวกบัตรทั้งหมด ไม่ว่าจะเป็น ATM, Debit, Credit, E-Wallet. E-Money
- Fund Transfer - การโอนเงิน ไม่ว่าจะผ่านตู้ หน้าเคาน์เตอร์ หรือ โอนระหว่างธนาคาร
ต่อไปเรามา Focus ที่ตัว Bank Note & Coin ที่มีปริมาณธุรกรรมมากถึง 70-80% ของทั้งหมด ภาครัฐต้องมี Cost อะไรบ้าง ทำไมถึงต้องลดการใช้งานหละ
- Bank Note & Coin - มันมีต้นทุนในการพิมพ์ การดูแลรักษา การขนย้ายเคลี่อนย้าย การตรวจสอบการทำของปลอม
- Bank Note & Coin - ภาครัฐไม่รู้เลยว่า มูลค่าที่แท้จริงเท่าไหร่ ในแต่ละจุด ทำให้ยากต่อการวางนโยบาย
เป้าหมายของภาครัฐ คือ Cashless Society คือ ต้องไม่ใช้เงินที่จับต้องได้ แต่เป็นเงินอิเล็กทรอนิกส์แทนครับ ถ้าอยากให้ทุกอย่างมันอยู่บนระบบ ก็ต้องแก้ปัญหาเดิมก่อน ได้แก่
- ค่าธรรมเนียม
- เทคโนโลยี
- ขั้นตอนการใช้งาน
- ความปลอดภัย
เกริ่นมาแล้วต่อไปต้องกล่าวถึงโครงการใหญ่ก่อน National E-Payment ย้ายทุกอย่างให้มาอยู่บนระบบอิเล็กทรกนิกส์ โดยมี 5 โครงการย่อย ได้แก่
- Payment Infrastructure - โครงการระบบการชำระเงินแบบ Any ID (นานานาม) หรือ PromptPay (พร้อมเพย์) อันนี้เป็นโครงการพื้นฐาน สำหรับต่อยอดในโครงการอื่นๆ
- Expansion of Card Acceptance (via EDC) - โครงการการขยายการใช้บัตร เน้นให้จ่ายผ่านพวก Card มากขึ้น ได้แก่
- บัตร Debit
- Common Ticket ที่เราคุ้นๆกัน พวกบัตร Rabbit , MRT, แมงมุม (ที่ใช้ในอนาคต) รวบมาเป็นหนึ่งเดียว ให้มาตรฐาน ISO 14443 ที่ใช้ชำระเงินแบบ Contactless ผ่านระบบ ซึ่งระบบ NFC รองรับ
- E-wallet Card - True Money , M Pay ...
- Credit Card
- Electronics Taxation Document - โครงการระบบภาษีและเอกสารธุรกรรมอิเล็กทรอนิกส์
- ปรับ Process หรือ Flow งานที่เป็นกระดาษ มาเข้าระบบซะ เพื่อลดข้อผิดพลาด ลด Cost ในการดูแลรักษา การค้นหา เป็นต้น
- การออก Invoice ออกเอกสารคืนค่า vat เดิมเป็นงานเอกสาร แต่เปลี่ยนมาใช่ระบบ E-invoice แทน เจ้าภาพ คือ ETDA
- สร้างมาตรฐานกลางให้ Software House ที่ทำระบบงาน Accounting มีส่วนการ Export ข้อมูล เข้าส่วนระบบกลาง แบบที่ธนาคารส่งข้อมูลผ่าน BOT DMS (DataSet, DataFile ฯลฯ) ให้แบงค์ชาติ เพื่อที่สรรพกรสามารถจัดการข้อมูลได้ถูกต้อง และไม่ตกหล่น ไม่ต้องไปหาเอกสารอะไรย้อนหลัง
- Government e-Payment - โครงการ e-Payment ภาครัฐ
- Public Education and Awareness on Electronics Transactions - โครงการการให้ความรู้และส่งเสริมการใช้ธุรกรรมอิเล็กทรอนิกส์
ผ่านช่วงเกริ่นนำไปแล้ว มาเข้าสู่ช่วงของ Any ID (นานานาม) หรือ PromptPay (พร้อมเพย์) ดีกว่า คือ อะไร มีอะไรบ้าง โดยสิ่งที่ Any ID พยายามทำ คือ พยายามเปลี่ยนถ่ายจากเลขที่บัญชีธนาคาร (Bank Account) ไปเป็นอะไรก็ได้ (Any) ที่จำง่าย ใช้ประจำ เพื่อให้จับจ่ายใช้สอยง่ายครับ ส่งเงินให้คนรับง่าย ซึ่งตัวอะไรก็ได้ ที่เอามาผูก ได้แก่ หมายเลขบัตรประชาชน, หมายเลขผู้เสียภาษี หรือ หมายเลขโทรศัพท์มือถือ เป็นต้นครับ เวลาเราจะโอนเงินให้ใครก็ใช้เลขบัตรประชน หรือเบอร์โทรแทนครับ โดยสิ่งที่ Any ID หรือ PromptPay สนใจ คือ อะไร ก่อนอื่นผมขอไล่เรียงมาก่อนว่าแบบเก่ามีแบบไหนบ้าง
- Card
- Payment Brand Network - พวกบัตร VISA , Master Card ...
- Local Card Payment
- Fund Transfer
- SWIFT
- SMART
- BATHNET
- Online Retail Fund Transfer (ORFT)
ตัว Any ID จะสนใจ Online Retail Fund Transfer (ORFT) เป็นหลักครับ เพราะมีจำนวนรายการมากที่สุด ในกลุ่ม Fund Transfer และก็ออกแบบเผื่อไประบบอื่นด้วยครับ สำหรับการเชือมโยง Any ID กับ Bank Account ผมขอเอาภาพจากเว็บของธนาคารแห่งประเทศไทยมาแสดงครับ ดูเข้าใจง่ายดี
และตัวอย่างการใช้งานครับ
จากรูปด้านบนเห็นว่า Any ID หรือ PromptPay ใช้ในชีวิตประจำวันได้อย่างไรครับ โดยผมขอ Focus ที่บางจุดที่ตรงกับ Slide ของวิทยากรนะครับ นอกจากโอนเงินแล้ว Any ID มี Feature อื่นๆ อาทิ เช่น
- Transfer with e-Witholding Tax & VAT Information - ซึ่งกฏหมายที่ออกตามโครงการ Electronics Taxation Document จะรองรับ เอาง่ายๆ คือ เวลาจ่ายภาษี ได้คืนภาษี ไม่ต้องทำเอกสารแล้ว ทำผ่านระบบแล้วใช้ Any ID อ้างอิงแทน
- Interbank Bill Payment with Amount Inquiry
- Interbank Bill Payment with e-Witholding Tax | VAT & Receipt
- Government Benefits (ผมตั้งชื่อเอง) - พวกเงินสวัสดิการต่างๆ เช่น ประกันสังคม, เงินช่วยเหลือต่างๆ
- Request to Pay & Request to Pay with One-Time Authorization Code (OTA)
- ซื้อของออนไลน์ครับผ่านพ่อค้า แม่ค้าผ่าน Line ใช้งานได้ง่าย เลียนแบบการทำงานพวกบัตรเครดิค แก้ปัญหาการแจ้งสลิปใบโอนเงิน (ลองนึกถึง KBank Web Shopping)
- ถ้าสมมติว่าเราเปิดเว็บ E-Commerce แบบเดิม ถ้าต้องการให้รองรับได้หลายธนาคาร ต้องไปทำ Payment Gateway ของแต่ละ Bank อยากมี 5 แบงค์ต้องทำเรื่องขอทั้ง 5 แบงค์ แต่ถ้ามี Any ID หรือ PromptPay ใช้แค่อันเดียวพอ
การสมัคร Any ID หรือ PromptPay ผมแยกตามการพัฒนาครับ
- PH1 (for Bank) : Bank Account, หมายเลขบัตรประชาชน, หมายเลขผู้เสียภาษี, เบอร์โทรศัพท์มือถือ ตอนนี้เปิดรับสมัครแล้ว เริ่มใช้จริงเดือนตุลาคม
- PH2 (for Non-Bank) : E-Wallet / Payment Card โดยผู้ออกบัตร (Issuer) จะจัดการให้ตั้งแต่แรกเลย
เมื่อลากมาถึงการพัฒนา มาดูแต่ละเรื่องดีกว่า
- Any ID หรือ PromptPay ถ้ามองในแง่ IT
- Any Id หรือ PromptPay ก็มองเปรียบเทียบได้กับ Domain Name คงไม่มีใครจำว่า https://naiwaen.debuggingsoft.com คือ IP 127.0.0.1 (อย่าไปลองนะครับ) แต่มีความสัมพันธ์แบบ One to Many ต้องทำ Lookup เชื่อมโยงระหว่าง Any Id กับ Bank Account
- E-mail : ทางวิทยากร ไม่แนะนำ เพราะ มันพิสูจน์ตัวตนยากครับ
- Security vs. Usability : ความปลอยภัยสูง ใช้งายยากครับ ตรงนี้แปรผันกันครับ ลองนึกถึงตัวอย่างนี้
- ประตูบ้าน - เปิดปิดธรรมดา มีลูกกุญแจอันนึง แต่ถ้าลองเพิ่มลูกกุญแจไป Lock เพิ่มอีกสัก 4-5 อัน ลองคิดดูว่าใช้งานยากไหมครับ กว่าจะเปิดได้ทีไขกุญแจจนเหนื่อยครับ
- การส่งข้อมูล Transaction
- ฝั่ง Bank มีการส่งรายการผ่านระบบ ITMX โดยข้อมูลของ Any ID ถูกแทรกใส่เข้าไปด้วย
- ข้อมูลถูกเข้ารหัสทั้งระหว่างการโอน และจัดเก็บ โดยทุกกระบวนการอยู่ในมาตรฐาน ISO27001 และ best practice ตามที่ธนาคารแห่งประเทศไทยกำหนดไว้
- Flow คร่าวๆ เช่น ฝ้ายโอนเงินให้นิด ใช้เบอร์โทร 089-123-xxxx
- แบงค์ A (ฝ้าย) MPLS 》DMZ 》ITMX 》 DMZ 》MPLS 》ไปแบงค์ B (นิด)
- Financial Transaction: Protocol ISO8583 over TLS1.2
- PIN Block encryption using 3DES or DES ผมว่าอัลกอริทึมเก่าไปนะ
- Message in PIN Block could be OTA (One-Time Authorization Code), Any ID or Destination Account, type of message defined in field 48.13
- มาถึง Any ที่ผูกไว้บ้าง มีประเด็นอะไรที่ต้องห่วง
- บัตรประชาชน
- ซ้ำได้ครับ ที่เรียนมาจากวิชาฐานข้อมูลทิ้ง ไม่แน่ใจว่าเป็น Defect ของระบบงานที่ Generate เลข หรือ เป็น Bug จากอัลกอลิทึมที่สร้างเลขบัตรประชาชน ธนาคารต้องตรวจสอบตั้งแต่ตอนสมัคร มันมี Process KTC (Know Your Customer) อยู่
- หมายเลขโทรศัพท์
- รูปแบบเบอร์
- Post-Paid - รายเดือน ไม่มีปัญหา เพราะลงทะเบียนไปแล้ว
- Pre-Paid - เติมเงิน ปัญหา คือ เราจะรู้ได้ไงว่าใครเป็นเจ้าของ
- ถ้ามีการเปลี่ยนเบอร์ ทางวิทยากร - ได้บอกว่าทาง Bank เป็นผู้ตรวจสอบ โดยอาจจะ
- เพิ่มการ Unlink ตัดความสัมพันธ์ Any Id หรือ PromptPay ตั้งแต่ตอนสมัคร เมื่อมีการยกเลิกเบอร์
- เจ้าของเบอร์ต้องแจ้งเอง กรณีที่ไม่ได้เลือกเงื่อนไขนี้ตอนสมัคร
- ถ้ามีการ Reuse เบอร์
- ถ้ามีการโอนมา หากเบอร์ถูกผูกไว้กับบัญชีและยังไม่แจ้งยกเลิกการผูก เงินจะเข้าบัญชีเดิม เจ้าของเบอร์ใหม่จะผูกบัญชีไม่ได้ ซึ่งน่าจะเป็นปัญหา
- รูปแบบเบอร์
- โอนผิด - จำเบอร์ผิด หรือไม่รู้ว่าเปลี่ยนเบอร์โทรแล้ว ในแง่การพัฒนาระบบ ตอนโอนเงินอาจจะต้องแสดงชื่อบัญชีปลายทาง หรือชื่อเล่นขึ้นมา
- การเก็บข้อมูล Any ID หรือ PromptPay มา Mapping กับ Bank Account แต่ละ Bank จัดการเองโดยตัว ITMX จะรู้แค่ว่า ID นี้ไปที่ธนาคารไหน
- การเปิด API เพื่อให้ FinTech หรือะไรก็ได้มาสร้าง Service ใหม่ๆ
- บัตรประชาชน
- Fraud(การหลอกลวง) ไม่ได้ทำเพื่อลด แต่ Flow Request to Pay จะลด Fraud
- New innovation always introduces new frauds. - เมื่อมีนวัตกรรมใหม่ มันก็มีช่องทางการคดโกงใหม่ๆ ด้วยเช่นกัน
Slide ในงานครับ
เขียนยาวเหมือนกัน โดยข้อมูลมีการสรุปจากวิทยากร และมีการหาข้อมูลบางอย่างเสริมเติม รวมถึงความเห็นของผมเองเข้าไปด้วยครับ แต่ระบบงานจริง อาจจะมีความแตกต่างไปก็ได้ อาจจะมีการ Change Requirement ขึ้น ซึ่งมันน่าจะเกิดกับทุกระบบนะ แต่เสียดายอย่างนึง คือ ผมไม่ได้ไปฟังบรรยายต่อในงาน A4 – Insecure Direct Object Reference ที่ ม.มหิดล พญาไท ครับ รถติดเกิน แถมรอรถเมล์แล้วไม่มา T___T
Resource
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.