Common Myth: "Basic authentication is insecure."

กระบวนการทำงานของ HTTP Basic Authentication นั้นข้อมูลที่ใช้ในการพิสูจน์ตัวตน(Authentication) ซึ่งได้แก่ ชื่อผู้ใช้ (user name) กับ รหัสผ่าน (password) ไม่ได้ถูกเข้ารหัส ก่อนที่จะส่งกลับไปยังเครื่องเซิร์ฟเวอร์ด้วย HTTP Request. ดังนั้นจึงมักมีคำกล่าวอยู่เสมอ ๆ ว่าวิธีการพิสูจน์ตัวตน(Authentication) วิธีนี้นั้นไม่ปลอดภัยและไม่สมควรใช้ ซึ่งในความเป็นจริงแล้ว Form-based Authentication ซึ่งเป็นวิธีการพิสูจน์ตัวตนที่ใช้กันอยู่ทั่วไปในเว็บไซต์ส่วนใหญ่รวมไปถึงเว็บไซต์ธนาคาร หลาย ๆ แห่ง นั้นก็ส่งข้อมูลชื่อผู้ใช้ (user name) กับ รหัสผ่าน (password) ไปกับ HTTP Request โดยที่ไม่ได้เข้ารหัสเช่นเดียวกัน

ฉะนั้นวิธีการป้องกันไม่ให้เกิดการดักจับข้อมูลเหล่านี้ก็คือ เราต้องใช้ HTTPS เป็นวิธีในสำหรับการส่งข้อความ HTTP ไปมาระหว่างเครื่องเซิร์ฟเวอร์กับผู้ใช้แทน ซึ่งการใช้ HTTPS ในการส่งข้อมูลการพิสูจน์ตัวตนนั้นสำคัญมากสำหรับแอพลิเคชั่นที่ต้องการความปลอดภัยสูง เช่น ธนาคาร หรือ ร้านค้า ออนไลน์ จากที่ได้กล่าวมาแล้ว จะเห็นว่าถ้ามองในแง่ของการดักฟังวิธีการส่งข้อมูลการพิสูจน์ตัวตนแบบ HTTP Basic Authentication ก็ไม่ได้เลวร้ายไปกว่าการใช้ Form-based Authentication ที่เว็บส่วนใหญ่ในปัจจุบันเลือกใช้

ที่มา: The Web Application Hacker's Handbook (Discovering and Exploiting Security Flaws) โดย Dafydd Stuttard และ Marcus Pinto

แล้วมันต้องทำยังไงให้ปลอดภัยวะ?? ในแง่ของ USER

แล้วเราจะรู้ได้ไงว่า Web ไหนใช้ HTTPS อ่ะ?? 

ตอน ที่เราจะส่งข้อมูล User Name & Password ลองสังเกตุ ดูที่มุมล่างขวาของ Browser มันควรจะมี รูปแม่กุญแจอยู่ หรือดูตรงที่ Address Bar ก่อนก็ได้ว่าตอนนี้ด้านหน้าของ Address Bar ว่าเป็น HTTPS หรือยัง

อีกประเด็นหนึ่งที่น่าสังเกตุคือ เมื่อตอนเราก็ submit หากมี message โผล่ขึ้นมาแล้วมีปุ่มประมาณว่าให้ View Certificate ก็ลองดูด้วยว่า Certificate ดังกล่าวนั้นออกโดย หน่วยงาน (certification authority -CA) ที่น่าเชื่อถือหรือไม่ CA ที่ชื่อดัง ๆ เช่น VeriSign, Thawte, GeoTrust, Comodo, และ GoDaddy เป็นต้น นอกจากนี้ควรจะดูด้วยว่า Domain ที่ระบุใน Certificate ตรงกับที่เว็บไซต์ที่เราใช้งานอยู่หรือไม่ ถ้า Certificate ไม่ได้ออกด้วย CA ที่่น่าเชื่อถือ หรือ domain ไม่ตรงก็ให้สงสัยไว้ก่อนเลยว่ามีอะไรแปลกๆ และไม่ควร ส่ง User Name กับ Password ไป ซึ่งทำได้โดยกดปุ่ม Cancel นั่นเอง

งง หรือ ป่าวว่ะ อาจจะไม่เห็นภาพนะ

อ่อ เข้าใจละ
เดี๋ยวคราวหน้าลองสังเกตดู

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd><img> <object> <embed> <param>
  • Lines and paragraphs break automatically.
  • Images can be added to this post.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.
ญาณรักข์ วรรณสาย