เทคนิคการตั้งรหัสผ่าน ฉบับ spicydog

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

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

  1. ต้องเป็นสิ่งที่เรารู้ แต่คนอื่นไม่รู้
    รหัสผ่านควรจะเป็นที่อยู่ในสมองของเรา และยากที่คนอื่นจะล่วงรู้ได้ว่าเราคิดถึงอะไรเวลาเรากำลังพิมพ์รหัสผ่าน รวมถึงไม่ควรจะเกี่ยวข้องกับข้อมูลที่เกี่ยวกับเราที่หาดูจากเอกสารต่างๆ ได้
  2. ต้องมีความยาวและความซับซ้อนมากพอ
    คอมพิวเตอร์มันเร็วขึ้นทุกวันๆ การตั้งรหัสผ่านจะต้องพยายามเลือกใช้ตัวหนังสือที่หลากหลายที่สุดเท่าที่จะเป็นไปได้ ทั้งตัวเลข และสัญลักษณ์แปลกๆ การเพิ่มตัวอักษรพวกนี้เข้าไปช่วยให้รหัสผ่านเราปลอดภัยขึ้นมากๆ (จะไม่ลงลึกในเรื่องของทฤษฎี เพราะมีคนเขียนมาเยอะแล้ว)
  3. ต้องลืมยาก และสามารถจำได้ง่าย 
    รหัสผ่านที่เราตั้งต้องเกิดจากสิ่งที่เป็นตัวเรา ผูกพันธ์กับเรา ทำให้เราไม่ลืมต่อให้ไม่ได้ใช้ไปนานๆ และก็สามารถจดจำได้ง่ายในตอนแรกที่เลือกใช้
  4. ต้องมีความแตกต่างกันในแต่ละบริการ
    บริการบนโลกออนไลน์มีมากมายหลายอย่าง ถ้าบริการนึงโดนแฮครหัสผ่านเราหลุดออกไป  Account อื่นๆ ที่เราใช้อยู่จะต้องปลอดภัย ดังนั้นต้องตั้งรหัสผ่านแต่ละบริการให้แตกต่างกัน เคสนี้หลังๆ โดนกันบ่อยครับ ระวังกันให้ดี

โดยปรกติแล้วข้อ 1-3 นี่ก็รู้ๆ กันอยู่แล้ว แต่ข้อที่ยากคือข้อที่ 4 เดี๋ยวเราจะมีดูเทคนิคดีๆ ในการตั้งรหัสผ่านให้ได้ครบทั้ง 4 หัวข้อกัน

นำชื่อคนในครอบครัวมาเป็นส่วนหนึ่งในรหัสผ่านเพื่อช่วยจดจำ คนเราคงจะไม่ลืมชื่อคนในครอบครัวใช่ไหม?
ตัวอย่างเช่น ในครอบครัวมีสมาชิก 3 คน พ่อ (Scott) แม่ (Alice) ลูก (Tyler) ดึงตัวอักษรที่ไม่ได้เป็นสระออกมาจากชื่อ (ในการณีนี้ผมเก็บตัวหน้าสุดไว้) จะได้ Sctt Alc Tylr ตอนนี้เราก็ได้รหัสมาแล้ว 11 ตัว
จากนั้นตัวอักษรที่หน้าตาคล้ายตัวเลขเช่น ตัว l = 1 ตัว o = 0ให้เป็นตัวเลข รวมถึงตัวหนังสือที่ใช้สัญลักษณ์แทนได้ เช่น ตัว s = $ และ a = @ ก็ทำการแปลงซะให้เรียบร้อย จากนันเราก็จะได้ $ctt @1c Ty1r
หาอีกสัก 3 ตัวมีแทรกระหว่างช่วง ใช้ชื่อบริการก็ละกัน อย่างเช่นตั้งรหัสผ่านให้บริการ apple ดึง 3 ตัวแรกจากชื่อบริการออกมาได้ a p เอาไปแทรก ได้ผลลัพธ์เป็น $ctta@1cpTy1rp
ต่อมาอาจจะเพิ่มตัวอักขระพิเศษที่ชอบ เช่น ; $ % & * – _ หรืออื่นๆ ไว้หลังสุดของรหัสผ่าน ในที่นี้เลือก ; (เพราะเป็นโปรแกรมเมอร์) ได้รหัสผ่านสุดท้ายเป็น $ctta@1cpTy1rp;

มาดูกันว่าเวลาจะพิมพ์รหัสผ่านสมองต้องทำงานอะไรบ้าง

  1. นึกชื่อสมาชิกในครอบครัว
  2. ทำการสะกดชื่อคนแรกแบบไม่เอาสระ ตัวแรกเป็นตัวใหญ่ และแปลงตัวอักษรที่แปลงเป็นตัวเลขและสัญลักษณ์ได้ไปด้วย
  3. เมื่อจบชื่อคนที่ 1 ก็เอานึกถึงชื่อบริการที่กำลังใช้ และเอาอักษรแรกของชื่อบริการมาใส่
  4. วนขั้นตอนที่ 2 และ 3 แต่ใช้ชื่อคนในครอบครัวคนต่อไป และตัวอักษรตัวต่อๆ ไปของบริการ
  5. ปิดท้ายด้วยตัวอักหนังสือพิเศษที่ชอบมาใส่หลังสุด

จะเห็นว่าเหมือนจะซับซ้อนคิดยากพอควร แต่ฝึกฝนไม่นานผมเชื่อว่าทำได้แน่นอน
ลองมีดูส่วนประกอบของรหัสผ่าน $ctta@1cpTy1rp; เราจะเห็นว่าแบ่งออกได้เป็น
คนที่ 1: $ctt (มาจาก Scott ที่ไม่เอาสระและแปลง S เป็น $)
ชื่อบริการอักษรที่ 1: a (ตัวที่ 1 ของคำว่า apple)
คนที่ 2: @1c (มาจาก Alice ที่ไม่เอาสระ แต่เก็บตัวหน้าไว้ และแปลง A เป็น @ แปลง l เป็น 1)
ชื่อบริการอักษรที่ 2: p (ตัวที่ 2 ของคำว่า apple)
คนที่ 3: Ty1r (มีจาก Tyler ที่ไม่เอาสระและแปลงตัว l เป็นเลข 1)
ชื่อบริการอักษรที่ 3: p (ตัวที่ 3 ของคำว่า apple)
สัญลักษณ์ปืท้าย: (มาจากความชอบส่วนบุคคล)

มาวิเคราะห์ระดับความปลอดภัยของรหัสผ่าน $ctta@1cpTy1rp;

  1. ต้องเป็นสิ่งที่เรารู้ แต่คนอื่นไม่รู้
    คนใกล้ตัวอาจจะรู้ว่าแปลงมาจากชื่อคนในครอบครัว แต่คนภายนอกไม่รู้แน่นอน
  2. ต้องมีความยาวและความซับซ้อนมากพอ
    ยาว 15 ตัวอักษร ซึ่งยาวมากพอแล้วล่ะ และประกอบด้วยตัวอักษรที่หลากหลายครบทุกรูปแบบ
  3. ต้องลืมยาก และสามารถจำได้ง่าย 
    รหัสผ่านถูกตั้งมาจากคนชื่อคนในครอบครัว ชื่อบริการ (ซึ่งหาดูได้จากหน้าเว็บ) การแปลงตัวอักษรเป็นตัวเลขและสัญลักษณ์ที่เราเข้าใจอยู่แล้ว รวมถึงปิดท้ายที่สัญลักษณ์โปรดของเรา (ซึ่งอันนี้ต้องจำ) ดังนั้นที่ต้องจำจริงๆ คือขั้นตอนการสร้างรหัสผ่านในช่วงเล็กๆ (ในข้อ 2-3 และ 5 ด้านบน)
  4. ต้องมีความแตกต่างกันในแต่ละบริการ
    รหัสผ่านแต่ละบริการจะไม่ตรงกันแน่นอน ตัวอย่างเช่น
    Apple: $ctta@1cpTy1rp;
    Google: $cttg@1coTy1ro;
    Facebook: $cttf@1caTy1rc;
    จะเห็นว่ารหัสผ่านแต่ละบริการนั้นไม่ตรงกัน แต่คล้ายกัน ยะงอาจจะพอแกะได้ (จริงหรือ) ถ้าอยากจะให้ยากกว่านี้ก็ลอง shift ตัวอักษรดู เช่น แปลงตัว a เป็นตัว b แปลงตัว p เป็นตัว q ตัวแปลง g เป็นตัว h เป็นต้น ทีนี้รับรองว่าจังทางได้ยากขึ้นอีกมากมาย ต้องได้รหัสมาเปรียบเทียบจาก 3 บริการขึ้นไป

และนั่นก็คือหนึ่งในเทคนิคของการตั้งรหัสผ่านที่มาแนะนำในวันนี้ รูปแบบนี้ยังสามารถประยุกต์ใช้งานได้อีกมากมายหลายอย่าง เช่น เปลี่ยนจากชื่อคนในครอบครัวเป็นของกินที่ชอบ คนที่เกลียด หรือสัตว์เลี้ยงตัวแรก หรืออะไรก็ว่าไปแล้วแต่คน และกระบวนการคิดก็แค่จำว่าเราเลือกวิธีการสร้างรหัสผ่านแบบไหน ทุกครั้งที่ต้องพิมพ์มันก็จะค่อยๆ ไปของมันได้เอง ผมไม่แน่ใจว่าวิธีนี้จะใช้ได้กับคนทั่วไปได้หรือไม่ แต่ผมลองใช้กับพ่อของผมที่อายุ 60+ แล้วเขาก็ยังทำได้นะ แล้วคุณล่ะ ยังใช้รหัสผ่านแต่ละบริการเป็นแบบเดียวกันอยู่รึเปล่า? ถ้าใช่ ผมอยากให้รีบคิดวิธีการตั้งรหัสผ่านที่ชอบ และจงไปตามเปลี่ยนรหัสซะ โดยเฉพาะอีเมล์ และธนาคาร ก่อนที่ทุกอย่างจะสายเกินไปนะครับ 🙂