ความแตกต่างระหว่าง http:// กับ https://

          ช่วงนี้เห็นมีกระแสเกี่ยวกับเรื่องของ http และ https พอสมควร แต่สำหรับบางคนอาจยังไม่ค่อยเข้าใจว่า มันคืออะไร หรืออาจมองว่ามันไกลตัวเกินไป โดยเฉพาะกับผู้ใช้ internet เป็นประจำ ไม่ว่าจะเป็นการเล่นเว็บอ่านข่าว อัพเดทต่างๆ เชคอีเมล์ หรืออื่นๆ ล้วนเกี่ยวข้องทั้งสิ้น

          ปกติแล้ว เวลาเราเล่นอินเตอร์เน็ตผ่าน Web Browser สุดโปรด ไม่ว่าจะเป็น Internet Explorer (เพื่อนใครชอบใช้ตัวนี้เลิกคบมันเลยนะ :P), Mozilla Firefox, Google Chrome หรืออื่นๆ ลองสังเกตุในช่อง URL ก็มักจะเห็นประมาณนี้
          ขึ้นอยู่กับแต่ละ Browser อาจแสดงผลแตกต่างกันไป โดยปกติเวลาเราพิมพ์เว็บที่เราจะเข้าไป เช่น www.google.com จะถือว่าใช้ http:// โดยอัตโนมัติ ซึ่งแต่ก่อนอาจใช้งานได้ไม่มีปัญหา แต่ปัจจุบันถือว่าเป็นรูปแบบที่ไม่ปลอดภัย เจ้าของเว็บไซต์ควรใช้เป็น https:// ซึ่งบาง Browser เริ่มแจ้งเตือนผู้ใช้แล้วว่าเป็นการเข้าสู่เว็บที่ไม่ปลอดภัย

http มีชื่อเต็มๆ ว่า Hypertext Transfer Protocol หรือก็คือ โปรโตคอลที่ใช้สำหรับคุยกันระหว่าง Server และ Client โดยรูปแบบของข้อมูลก็จะมาในรูปของ html หรือว่าจะเป็น text ธรรมดาๆ เลยก็ได้ แน่นอนว่าถ้าเป็นอะไรที่ต้องการความปลอดภัย ก็ดูไม่ค่อยจะดีซักเท่าไร

https หรือ Hypertext Transfer Protocol over Secure Socket Layer (HTTP over SSL) เป็นโปรโตคอลที่มีความปลอดภัยสูงกว่า http แต่รูปการทำงานก็เหมือนกัน คือ รับ-ส่ง hypertext แต่สิ่งที่เราจะสังเกตได้ คือ https:// ตัวนี้จะปะอยู่ด้านหน้า www (ถ้าไม่แสดง แปลว่าไม่ใช่ https) สิ่งที่ https มีเหนือว่า http คือ certificate ซึ่งจะมีฝังอยู่ใน Web Browser อยู่แล้ว ซึ่ง certificate ตัวนี้จะทำหน้าที่เป็นกุญแจ เพื่อการเข้ารหัส (Encrypt) และปลดล็อค (Decrypt) ทำให้ถ้าข้อมูลถูกดักจับระหว่างทาง ก็อ่านไม่รู้เรื่อง ซึ่งจะมีก็แต่ Server เจ้าของเว็บจริงๆ เท่านั้นที่จะอ่านข้อมูลนั้นๆ ได้

ใช่ว่า https:// แล้ว จะปลอดภัยเสมอไป

          เพราะว่าอย่างที่บอกครับ https เป็นการใช้ certificate สำหรับ client และ server ที่จะต้องตรงกัน ซึ่งบางเว็บก็พยายามจะใช้ https เพื่อความปลอดภัยของการรับส่งข้อมูลบ้าง แต่ว่า certificate ที่ใช้ไม่ถูกต้อง ซึ่งถ้าจะใช้แบบถูกต้องเจ้าของเว็บก็คงต้องมีการเสียเงินเสียทองกันนิดหน่อย

          ถ้าไม่มี certificate สำหรับ https ที่ถูกต้องแล้วละก็ คนที่จะเข้าไปชมเว็บไซต์เหล่านั้น ก็จะพบกับหน้าจอประมาณนี้ ซึ่งบางคนเห็นก็จะรู้แล้วว่าต้องทำยังไงต่อถึงจะเข้าไปอ่านเว็บนั้นๆได้ 
certificate ผิดพลาด / ไม่น่าเชื่อถือ [Google Chrome]
certificate ผิดพลาด / ไม่น่าเชื่อถือ [Internet Explorer]

แต่หลังจากที่เราเข้าไปดูได้แล้ว ลองสังเกตบนแถบ Address Bar ของเราดูนะครับ มันจะเป็นแบบนี้
 หรือ 
(สำหรับ Internet Explorer จะเปลี่ยนสีแถบทั้งช่อง แล้วมีคำว่า Certificate Error ข้างท้ายด้วย)

          หมายถึงว่าเราได้ยอมรับ certificate ที่ผิดพลาด / ไม่น่าเชื่อถือบนหน้าเว็บนั้นๆ อยู่ ซึ่งความเป็นไปได้มีอยู่ 3 กรณี (ดูจากหน้าจอเตือนด้านบน) 
  1. certificate ไม่น่าเชื่อถือ 
  2. ไม่ตรงกับเว็บไซต์
  3. หมดอายุ 

ซึ่งอาจมีการส่งไปยัง hacker ก็ได้ (ข้อมูลมีการเข้ารหัสจริง แต่ hacker มีตัวถอด แล้วมันจะมีความหมายอะไร) ทำให้เวลาเราเล่นต้องระวังนิดนึงว่า เราต้องกรอกข้อมูลส่วนตัว เช่น รหัสผ่าน อะไรทำนองนี้หรือเปล่า (ต้องระวังเหมือนกันกับการเล่นเว็บที่เป็น http://) แต่ถ้าเราเข้าเว็บที่มี certificate ที่ถูกต้อง มีการใช้ SSL เพื่อความปลอดภัยของข้อมูล บนช่อง URL ก็จะมีสัญลักษณ์ประมาณนี้ครับ 
  

          เพราะฉะนั้นแล้ว เว็บไซต์ที่ควรระวัง ได้แก่ เว็บไซต์สำหรับทำธุรกรรมทางอินเตอร์เน็ต เว็บไซต์รับส่งอีเมล์ และเว็บไซต์ที่ต้องการป้อนรหัสผ่าน่อื่นๆ (Facebook, Twitter,...) เป็นต้น เพราะว่าการสื่อสารระหว่าง Client-Server มีช่องสำหรับคั่นกลางมากมาย อย่างเช่น Router, Access Point ต่างๆ โดยอาศัยให้เราเอาอุปกรณ์ของเราเชื่อมต่อไป แล้วมันก็ทำหน้าที่ส่งไปยัง Server ให้ ถ้า Router ตัวนี้มีโปรแกรมสำหรับดักจับ username/password เราก็จะถูกขโมยไปโดยที่ไม่รู้ตัวก็ได้

มาลองดูครับว่า ถ้า Certificate Error แล้วทำงานต่อ กับ เล่นปกติแต่เป็น http:// ต่างกันอย่างไร

          อย่างที่บอกไปแล้วครับว่า Certificate Error เราก็สามารถกดให้ไปเล่นเว็บตามปกติได้ แต่ว่าการทำงานเบื้องหลัง มีจุดต่างคือ https:// แม้ว่า certificate จะไม่ถูกต้อง แต่ก็มีการเข้ารหัสข้อมูลอยู่ดี แต่เข้ารหัสแล้วถูกส่งไปที่ไหน ก็เป็นเรื่องที่ต้องสังเกตและคอยระวังกันไป แต่ถ้าเป็น http ข้อมูลจะไม่มีการเข้ารหัสแต่อย่างใด **ผมอ้างอิงข้อมูลนี้จาก Browser Google Chrome นะครับ คลิกที่สัญลักษณ์ด้านหน้า จะมีรายละเอียดดังรูปข้างล่างนี้เลยครับ 

 

**สิ่งที่ต้องระวังยิ่งกว่านั้น คือ การใช้ email ต้องระวังให้มาก พยายามอย่าใช้รหัสผ่าน email เหมือนกับรหัสอย่างอื่น เพราะว่าเว็บไซต์ส่วนมาก ให้เราสมัครสมาชิกด้วย email และใช้ email เป็น username (ไม่จำเป็นที่เราจะต้องตั้งรหัสเหมือน email เพราะมันคนละระบบกัน) ที่ต้องระวังจุดนี้เพราะว่า ทุกๆเว็บที่มีระบบสมาชิก จะมีระบบ "ลืมรหัสผ่าน" ให้ส่ง link สำหรับ reset หรือส่ง password ตรงๆ ไปที่ email และถ้าเราตั้งรหัสผ่านของ email เดียวกับระบบนั้นๆ ก็จะเสียหายทั้งระบบนั้นๆ และ email ไปด้วยครับ


แหล่งข้อมูลเพิ่มเติม
http://support.google.com/adwords/bin/answer.py?hl=th&answer=2580401

http://www.internetcafe.in.th/showthread.php?t=1360
http://support.google.com/chrome/bin/answer.py?hl=th&answer=98884

Facebook Comment

Recent Posts

Popular post of 7 days

Portal คืออะไรกันนะ???

มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)

Port Forwarding สำหรับคนใช้ AIS Fibre

Popular

[Java] Java 8 DateTime ใหม่ ไฉไลกว่าเดิม

Portal คืออะไรกันนะ???

[Java] ความแตกต่างระหว่าง Overloading กับ Overriding

มาตรฐานการตั้งชื่อตัวแปร (Naming Convention)

เรื่องของ ++i กับ i++

ลืมรหัสปลดล็อค Android เข้าเครื่องไม่ได้ มีทางออกครับ

[Java] Java Static Variable และ Static Method

[Java] รู้จัก OR-Mapping และ Hibernate เบื้องต้น

Port Forwarding สำหรับคนใช้ AIS Fibre

Android Auto & Apple Carplay คืออะไร ใช้งานยังไง