พิมพ์หน้านี้ - คณิตศาสตร์ กับ บัตรเติมเงิน ... โกงได้จริงเหรอ?

LSVคลังสมองออนไลน์ "ปีที่21"

นานาสาระ => การศึกษา => ข้อความที่เริ่มโดย: eskimo_bkk-LSV team♥ ที่ มิถุนายน 27, 2007, 10:30:07 AM



หัวข้อ: คณิตศาสตร์ กับ บัตรเติมเงิน ... โกงได้จริงเหรอ?
เริ่มหัวข้อโดย: eskimo_bkk-LSV team♥ ที่ มิถุนายน 27, 2007, 10:30:07 AM
คณิตศาสตร์ กับ บัตรเติมเงิน ... โกงได้จริงเหรอ?
เราสามารถกดรหัสโดยการสุ่ม เพื่อให้สามารถเติมเงินโดยไม่ต้องขูดรหัสได้หรือไม่
คุณพุดเตยเล่าเรื่องของรหัสบัตรเติมเงินที่จะทำให้คุณรู้ว่าปลอดภัยดีแค่ไหนได้สนุกน่าฟัง
เคดิตจาก http://www.vcharkarn.com/include/article/showarticle.php?Aid=372
ผู้เขียน: พุดเตย ตาฬวัฒน์ ปัจจุบันเป็นนักวิชาการสาขาคณิตศาสตร์มัธยมศึกษาและกำลังเตรียมตัว เพื่อไปศึกษาต่อในระดับปริญญาเอก
                    ในโลกยุคปัจจุบัน โทรศัพท์มือถือได้เข้ามามีบทบาทสำคัญ ในชีวิตประจำวันของคนทุกเพศทุกวัยไป อย่างหลีกเลี่ยงไม่ได้ โดยเฉพาะอย่างยิ่งในกรุงเทพมหานคร โทรศัพท์บ้านนั้น ได้ลดบทบาทลงไปเป็นอย่างมาก เนื่องจากประชาชนแทบทุกคน มีโทรศัพท์มือถือเป็นของตนเอง
ขณะนี้ในประเทศไทยมีผู้ให้บริการเครือข่ายโทรศัพท์มือถืออยู่หลายเครือข่ายด้วยกัน เช่น AIS, DTAC, True move และ Hutch เป็นต้น โดยแต่ละเครือข่ายจะแบ่งการให้บริการออกเป็น 2 ระบบ คือระบบ Post-paid และระบบ Pre-paid
                     โดยระบบ Post-paid ที่นิยมเรียกกันว่าระบบจดทะเบียนหรือระบบรายเดือนนั้น ผู้ใช้บริการจะสามารถใช้บริการโทรศัพท์มือถือได้ก่อน และทุกๆเดือนจะมีใบแจ้งค่าบริการมาเรียกเก็บเงินตามมูลค่าที่ใช้ไป
                     ส่วนอีกระบบหนึ่งคือระบบ Pre-paid หรือที่นิยมเรียกว่าระบบเติมเงินนั้น ผู้ใช้บริการจะต้องจ่ายค่าบริการล่วงหน้าโดยการเติมเงินเข้าสู่บัญชีของโทรศัพท์ก่อน จากนั้นจึงสามารถใช้บริการได้ไม่เกินมูลค่าของวงเงินที่เติมไว้ การเติมเงินเข้าสู่บัญชีของโทรศัพท์มือถือก็สามารถทำได้หลายช่องทางแต่วิธีที่สะดวกและได้รับความนิยมสูงที่สุดก็คือการใช้บัตรเติมเงิน
                      บัตรเติมเงินของระบบโทรศัพท์มือถือทุกเครือข่ายมีลักษณะสำคัญที่เหมือนกันคือ เป็นบัตร (ทำจากกระดาษหรือพลาสติก) ขนาดกว้าง 5.4 เซนติเมตร ยาว 8.5 เซนติเมตร ด้านหน้าเป็นรูปต่างๆ พร้อมระบุราคาของบัตรซึ่งมีตั้งแต่ 40 บาท ถึง 1,000 บาท ส่วนด้านหลังจะมีหมายเลขบัตรพร้อมแถบรหัสบัตรเติมเงิน เมื่อต้องการเติมเงินเข้าสู่บัญชีของโทรศัพท์ ก็เพียงขูดรหัสบัตร แล้วโทรไปที่หมายเลขสำหรับเติมเงิน ของเครือข่ายโทรศัพท์ที่ใช้อยู่ แล้วทำตามขั้นตอนที่ได้ยิน เท่านี้ก็เป็นอันเสร็จเรียบร้อย
                    เท่าที่ได้อ่านมาทั้งหมดท่านผู้อ่านก็คงรู้สึกว่า การใช้บัตรเติมเงินก็ไม่ยุ่งยากอะไร แถมยังดูปลอดภัยเนื่องจากต้องขูดรหัสก่อน จึงจะสามารถใช้บัตรใบนั้นได้ แต่ก็น่าสงสัยว่า เราสามารถกดรหัสโดยการสุ่ม เพื่อให้สามารถเติมเงินโดยไม่ต้องขูดรหัสได้หรือไม่ ? ซึ่งถ้าวิธีนี้เป็นไปได้จริง การใช้บัตรเติมเงินก็จะไม่ปลอดภัยอีกต่อไป เพราะเราไม่มีทางรู้ได้เลยว่า บัตรเติมเงินใบที่เราซื้อมานั้น จะถูกใครแอบใช้ไปแล้วหรือยัง!
ร่วมค้นหาความจริงกันดีกว่า
                                  ลองมาพิจารณาระบบการเติมเงิน ของผู้ให้บริการโทรศัพท์มือถือแบบ Pre-paid แต่ละแห่งดู
                           เริ่มจากระบบ Happy Dprompt จากเครือข่าย DTAC พิจารณาหมายเลขบัตรและรหัสบัตรเติมเงิน 2 ใบนี้ จะเห็นว่าบัตร 2 ใบนี้มีหมายเลขบัตรเรียงต่อกันคือ 404906557 และ 404906558 ซึ่งโดยทั่วไปแล้วบัตรเติมเงินจะถูกผลิตมาให้มีหมายเลขเรียงต่อกัน สมมติว่าเราซื้อบัตรเติมเงิน 2 ใบนี้ มาใช้เรียบร้อยแล้ว และอยากรู้ว่า เราจะสามารถกดรหัสที่น่าจะเป็นไปได้ ของบัตรเติมเงินหมายเลข 404906559 (หรือหมายเลขอื่นๆใกล้เคียง ที่คาดว่าน่าจะยังไม่ถูกจำหน่าย) ได้หรือไม่ อย่างไร

(http://i120.photobucket.com/albums/o162/eskimo_bkk/A372p2x2.jpg)

         เนื่องจากระบบการเติมเงิน ด้วยบัตรเติมเงินของเครือข่าย DTAC นั้นเราจะต้องใส่หมายเลขบัตร ในระหว่างขั้นตอนการเติมเงินด้วย ทำให้รูปแบบการเติมเงินวิธีนี้ มีลักษณะคล้ายกับการใช้บริการบัตร ATM ที่เครื่อง ATM จะอ่านหมายเลขบัตร ที่เราสอดเข้าไป แล้วจึงพิจารณาว่ารหัสที่เรากดนั้น ตรงกับรหัสที่ถูกบันทึกไว้หรือไม่ ด้วยกระบวนการเช่นนี้ ระบบจะสามารถตรวจสอบได้ว่า บัตรแต่ละใบถูกใช้ไปแล้วหรือยัง ดังนั้นถ้าหมายเลขบัตรที่เราเลือก ได้ถูกใช้ไปแล้ว เราก็ไม่สามารถเติมเงินจากบัตรใบนั้น ได้อีกต่อไป
                 สมมติว่าบัตรเติมเงิน ใบที่เราต้องการเติมเงิน โดยไม่ขูดรหัสนั้นยังไม่ถูกเติมเงินไป เราก็ยังมีสิทธ์จะเติมเงินจากบัตรใบนั้นได้อยู่ ถ้าเราสามารถใส่รหัสของบัตรเติมเงินใบนั้นได้ถูกต้อง ซึ่งรหัสดังกล่าวสำหรับระบบ Happy Dprompt จะประกอบไปด้วยตัวเลขจำนวน 6 หลัก
                 กลับไปพิจารณาข้อมูลเดิมที่มีอยู่จากบัตร 2 ใบด้านบน หรือลองกลับไปสังเกตบัตรเติมเงินที่ขูดแล้วใบอื่น ๆ ดู จะเห็นว่ารหัสบัตรเติมเงินนั้น ไม่สัมพันธ์กับหมายเลขบัตร และไม่สัมพันธ์กับรหัสของบัตรใบใกล้เคียงด้วย เราอาจจะกล่าวได้ว่า ตัวเลขในรหัสบัตรเติมเงินนั้น เกิดขึ้นโดยวิธีการสุ่ม นั่นหมายความว่า เราต้องหาตัวเลข 6 หลัก เพื่อเป็นรหัสเติมเงินของบัตรเติมเงินหมายเลขใด ๆ ที่เราสนใจ ตัวเลขแต่ละตัว สามารถเป็นได้ตั้งแต่ 0 ถึง 9 ดังนั้นเราสามารถเลือกตัวเลขแต่ละตัว ได้ถึง 10 วิธี และสามารถเลือกตัวเลข 6 หลักได้ทั้งหมด 106 หรือเท่ากับ 1,000,000 วิธีเลยทีเดียว ! โดยที่ในจำนวนนี้จะมีตัวเลขที่ถูกต้องเพียงตัวเดียวเท่านั้น โอกาสถูกต้องจึงมีเพียง 1 ในล้าน เท่ากับโอกาสถูกล๊อตเตอรี่รางวัลที่ 1 เลยหล่ะ
                     ต่อไปเราจะพิจารณาวิธีการเติมเงินของระบบ True move แบบเติมเงิน พิจารณาหมายเลขบัตรและรหัสบัตรเติมเงิน 2 ใบนี้ จะเห็นว่าบัตร 2 ใบนี้ มีหมายเลขบัตรเรียงต่อกันคือ 040400861142532042 และ 040400861142532043 สมมติว่าเราซื้อบัตรเติมเงิน 2 ใบนี้มาใช้เรียบร้อยแล้วเช่นกัน เราอยากรู้ว่าเราจะสามารถกดรหัส ที่น่าจะเป็นไปได้ ของบัตรเติมเงินหมายเลขอื่นๆ ใกล้เคียงได้อย่างไร

(http://i120.photobucket.com/albums/o162/eskimo_bkk/A372p2x4.jpg)

                แม้ว่าระบบการเติมเงิน ด้วยบัตรเติมเงินของเครือข่าย True move นั้นเราจะไม่ต้องใส่หมายเลขบัตร ในระหว่างขั้นตอนการเติมเงิน แต่ถ้าสังเกตให้ดี ก็จะพบว่าตัวเลข 9 ตัวท้ายของหมายเลขบัตร จะเหมือนกับตัวเลข 9 ตัวหน้า ของรหัสเติมเงิน จึงทำให้รูปแบบการเติมเงินวิธีนี้ มีลักษณะคล้ายกับการใช้บริการบัตร ATM เช่นเดียวกับของ Happy Dprompt ในกรณีของ True move นี้ จะเห็นว่าตัวเลขที่แทนรหัสเติมเงินจริงๆ จะมีเพียง 5 หลักท้ายเท่านั้น และได้ว่า เราสามารถเลือกตัวเลข 5 หลักได้ทั้งหมด 105 หรือเท่ากับ 100,000 วิธี!
                สุดท้ายลองพิจารณาวิธีการเติมเงินของระบบ 1-2-Call จากเครือข่าย AIS เช่นเดียวกัน บัตร 2 ใบนี้ มีหมายเลขบัตรเรียงต่อกันคือ 14204228659 และ 14204228660 และเราอยากรู้ว่าเราจะสามารถกดรหัสที่น่าจะเป็นไปได้ ของบัตรเติมเงินหมายเลขอื่น ๆ ใกล้เคียงได้อย่างไร

(http://i120.photobucket.com/albums/o162/eskimo_bkk/A372p2x5.jpg)

    การเติมเงินด้วยบัตรเติมเงินของระบบ 1-2-Call จากเครือข่าย AIS นั้น เราไม่ต้องใส่หมายเลขบัตรในระหว่างขั้นตอนการเติมเงิน และถ้าสังเกตให้ดี ก็จะเห็นว่าตัวเลขในหมายเลขบัตร กับตัวเลขในรหัสเติมเงินนั้น ไม่มีส่วนใดที่เหมือนกัน ตรงจุดนี้เอง ที่ทำให้ระบบนี้ แตกต่างจาก Happy Dprompt และ True move
                 ในกรณีของ 1-2-Call นี้ จะเห็นว่ารหัสเติมเงินของบัตร ที่มีหมายเลขบัตรใกล้เคียงกัน จะมีตัวเลข 5 ตัวหน้าเหมือนกัน นั่นคือหากเราทราบรหัสเติมเงินของบัตรเติมเงินใบใดๆ เราก็จะทราบตัวเลข 5 ตัวหน้าในรหัสเติมเงินของบัตร ที่มีหมายเลขบัตรใกล้เคียงกัน ดังนั้นตัวเลขที่เราจะต้องหาเพิ่มจึงเหลือเพียง 8 หลักท้ายเท่านั้น และได้ว่า เราสามารถเลือกตัวเลข 8 หลักได้ทั้งหมด 108 หรือเท่ากับ 100,000,000 วิธี! โอ โน พระเจ้า จอร์จ ไม่นะ 
                 แต่ก็ยังเกิดข้อสงสัยขึ้นอีกว่า หากเราต้องการคำนวณค่าความน่าจะเป็น ของการสุ่มเลข 8 ตัวให้ตรงกับรหัสของบัตร ใบที่ยังไม่ได้ถูกเติม เราจะต้องทราบจำนวนบัตรเติมเงิน ที่ยังไม่ถูกเติมที่มีรหัส 5 ตัวหน้าเป็นรหัสเดียวกับรหัสที่เราทราบ ซึ่งปัญหาก็คือ เราจะหาจำนวนบัตรเติมเงินดังกล่าวได้อย่างไร ผู้เขียนเองก็ยังไม่สามารถตอบคำถามนี้ได้เช่นกัน
               แต่ถ้าให้ประมาณด้วยความรู้สึกส่วนตัวก็คาดว่าน่าจะอยู่ที่ 100 ใบ ถึง 1,000 ใบ ทำให้ได้ค่าความน่าจะเป็นดังกล่าวที่ 1 ในแสน ถึง 1 ในล้าน
จะเห็นว่าโอกาสที่เราจะเลือกตัวเลขได้ถูกต้องนั้นมีน้อยมากๆคือ 1 ในแสน ถึง 1 ในล้าน และถึงแม้เราจะคิดว่าเดาตัวเลขไปเรื่อยๆ ก็คงเจอตัวเลขที่ถูกต้องไปเอง เราก็จะไม่สามารถเดาได้เกิน 3 ครั้ง เนื่องจากหากเรากดรหัสผิดเกิน 3 ครั้งหมายเลขโทรศัพท์มือถือของเราจะถูกระงับการให้บริการ
           คำถามถัดไปที่อาจมีคนสงสัยคือ หากเราเก็บบัตรเติมเงินที่ใช้แล้วไว้เรื่อยๆ จนกระทั่งหมายเลขบัตรเดิมถูกนำมาใช้อีก เราจะยังสามารถใช้รหัสเติมเงินเดิมเพื่อเติมเงินเข้าไปใหม่ได้หรือไม่
              ประเด็นนี้ก็เป็นประเด็นที่น่าสนใจทีเดียว ด้วยแนวคิดว่าตัวเลขก็น่าจะมีวันหมด แม้แต่เบอร์โทรศัพท์ก็ยังมีการเวียนใช้ หมายเลขบัตรเติมเงินก็น่าจะคล้ายๆกัน แต่ต้องไม่ลืมว่าปัจจุบันหมายเลขโทรศัพท์มีเพียง 9 หลัก การเพิ่มจำนวนหลักของหมายเลขโทรศัพท์นั้นต้องใช้เวลาและงบประมาณจำนวนมาก ซึ่งตรงข้ามกับในกรณีของบัตรเติมเงินลองพิจารณาบัตรเติมเงิน 2 ใบนี้

(http://i120.photobucket.com/albums/o162/eskimo_bkk/A372p3x2.jpg)

          จะเห็นว่าบัตรใบแรกที่มีวันหมดอายุในเดือนมีนาคม ปี 2005 หมายเลขบัตรมีตัวเลขเพียง 8 หลัก (สังเกตว่า 94406821 นั่นเป็นตัวเลข 8 หลักที่มีค่ามาก หมายความว่าหมายเลขบัตร 8 หลักถูกใช้ไปจนเกือบหมดแล้ว) ส่วนบัตรใบที่ 2 ที่มีวันหมดอายุในเดือนกันยายน ปี 2005 หมายเลขบัตรมีตัวเลขเพิ่มขึ้นเป็น 9 ตัว เพราะการเพิ่มจำนวนหลักของหมายเลขบัตรเติมเงินนั่นไม่ได้ยุ่งยากเหมือนการเพิ่มจำนวนหลักของเบอร์โทรศัพท์ ดังนั้นจนถึงปัจจุบันนี้จึงยังไม่ปรากฏบัตรเติมเงินที่มีตัวเลขซ้ำเดิมออกมาขายตามท้องตลาดเลย

(http://i120.photobucket.com/albums/o162/eskimo_bkk/A372p3x5.jpg)

                 คาดว่าถึงจุดนี้แล้วผู้อ่านก็คงจะทราบหลักการของบัตรเติมเงินบ้างพอสมควร จุดประสงค์ของผู้เขียนในการเขียนบทความนี้ก็ไม่ได้ต้องการให้ผู้อ่านไปทดลองทำการทุจริตใดๆทั้งสิ้น
                  เพียงอยากจะขอฝากไว้ว่าถึงแม้โทรศัพท์มือถือ จะเป็นสิ่งจำเป็นในชีวิตของเรา แต่ยังมีสิ่งอื่นๆ ที่สำคัญกว่านี้อีกมากมายนัก โทรศัพท์มือถือไม่สามารถทดแทน ความรักความอบอุ่นในครอบครัว ความสนิทสนมคุ้นเคย ระหว่างเพื่อนฝูง และความสามารถในการดำเนินชีวิตในสังคมของมนุษย์ทุกคนได้

(http://i120.photobucket.com/albums/o162/eskimo_bkk/eski2.gif)