Secret Key 2FA คืออะไร? อธิบาย Base32, TOTP และลิงก์ otpauth
Digital Account Market
· อัปเดตล่าสุด:
Secret Key ของ 2FA คือสตริงสั้น ๆ ที่ประกอบด้วยตัวอักษรและตัวเลข ซึ่งแอปยืนยันตัวตน (Authenticator) นำไปคำนวณเป็นรหัส 6 หลักที่คุณพิมพ์ตอนเข้าสู่ระบบ หากการส่งมอบออเดอร์ของคุณมีคีย์นี้อยู่ด้วย ก็ถือเป็นช่องข้อมูลที่สำคัญที่สุดในบรรทัดรองจากรหัสผ่าน แต่ขณะเดียวกันก็เป็นช่องที่ผู้ซื้อพิมพ์ผิดหรือสับสนกับข้อมูลอื่นบ่อยที่สุดเช่นกัน คู่มือนี้อธิบายว่าสตริงนี้คืออะไร หน้าตาของ Base32 เป็นอย่างไร และ Secret Key ต่างจากรหัสสำรองและข้อมูลใน QR Code อย่างไร
นอกจากนี้ คุณจะได้เรียนรู้วิธีหา Secret Key ในบรรทัดที่ส่งมอบ และตรวจสอบภายในไม่กี่วินาทีว่าใช้งานได้จริง เมื่อเปิดดูสตริงใดในไฟล์ของคุณ ก็จะบอกได้ว่าเป็น Secret Key รหัสสำรอง หรือข้อมูลอย่างอื่น
Secret Key ของ 2FA คืออะไร และสร้างรหัส 6 หลักได้อย่างไร
รหัสผ่านแบบใช้ครั้งเดียวที่อิงเวลา (TOTP ซึ่งกำหนดไว้ใน RFC 6238) ประกอบขึ้นจากสองส่วน คือความลับที่ใช้ร่วมกันและเวลาปัจจุบัน ตอนตั้งค่า 2FA แพลตฟอร์มจะสร้างความลับนั้นขึ้นมาและเก็บไว้หนึ่งชุด ส่วนอีกชุดอยู่ในแอปยืนยันตัวตนของคุณ ทุก 30 วินาที ทั้งสองฝั่งจะคำนวณแบบเดียวกันจากความลับและนาฬิกา แล้วได้ตัวเลข 6 หลักเหมือนกัน
เรื่องนี้ส่งผลในทางปฏิบัติ 3 ข้อ:
- Secret Key คือกุญแจดอกที่สองของบัญชี ใครที่ถือคีย์นี้อยู่ก็สร้างรหัสที่ใช้ได้จริงจากอุปกรณ์เครื่องไหนก็ได้ ตราบใดที่การตั้งค่า 2FA นั้นยังใช้งานอยู่
- รหัสไม่ได้ถูกเก็บไว้ที่ไหนเลย รหัสแต่ละตัวถูกคำนวณใหม่ทุก 30 วินาที ภาพหน้าจอของรหัสเก่าจึงไม่มีประโยชน์
- นาฬิกามีผล ถ้าอุปกรณ์ที่สร้างรหัสเดินเร็วหรือช้ากว่าเวลาจริงตั้งแต่หนึ่งนาทีขึ้นไป ต่อให้ Secret Key ถูกต้องก็ยังได้รหัสที่ถูกปฏิเสธ
Base32: หน้าตาของตัวอักษรและข้อผิดพลาดในการพิมพ์ที่พบบ่อย
Secret Key เขียนด้วย Base32 ซึ่งเป็นชุดอักขระที่ประกอบด้วยตัวอักษรภาษาอังกฤษพิมพ์ใหญ่ 26 ตัวตั้งแต่ A ถึง Z และตัวเลข 2 ถึง 7 เท่านั้น ตัวเลข 0, 1, 8 และ 9 จะไม่ปรากฏเลย เครื่องหมายวรรคตอนก็ไม่มีเช่นกัน ตัวอย่างประกอบ (ไม่ใช่คีย์ของบัญชีจริง) หน้าตาเป็นแบบนี้: JBSWY3DPEHPK3PXP โดยทั่วไป Secret Key ของจริงยาว 16 ถึง 32 ตัวอักษร
เนื่องจากอักขระที่ใช้ได้มีเพียง 32 ตัว ข้อผิดพลาดในการพิมพ์ส่วนใหญ่จึงตรวจพบได้ง่าย:
- มี 0, 1 หรือ 8 อยู่กลางคีย์ แปลว่าอ่านอักขระผิด โดยทั่วไป 0 คือตัวอักษร O, 1 คือตัวอักษร I หรือ L และ 8 คือตัวอักษร B
- ตัวอักษรพิมพ์เล็ก มักไม่เป็นปัญหา เพราะแอปส่วนใหญ่แปลงให้เอง
- เครื่องหมาย "=" ที่ท้ายคีย์ คือส่วนเติมท้าย (padding) แอปจำนวนมากรับคีย์ได้ทั้งแบบมีและไม่มี
- อักขระที่มองไม่เห็น เช่น ช่องว่างหรือการขึ้นบรรทัดใหม่ท้ายคีย์ที่ติดมาตอนคัดลอกจากไฟล์ข้อความ มักทำให้ขึ้นข้อความว่าคีย์ไม่ถูกต้อง
ลิงก์ otpauth, QR Code และคีย์แบบข้อความธรรมดา
ความลับเดียวกันอาจมาถึงคุณได้ใน 3 รูปแบบ และการสับสนระหว่างรูปแบบเหล่านี้ก่อให้เกิดปัญหามากมาย:
- คีย์แบบข้อความธรรมดา คือสตริง Base32 ล้วน ๆ แอปยืนยันตัวตนเรียกว่าคีย์สำหรับตั้งค่า (setup key) หรือคีย์สำหรับกรอกด้วยตนเอง
- QR Code คือภาพที่เข้ารหัสลิงก์ otpauth ไว้ เพื่อให้โทรศัพท์สแกนได้โดยไม่ต้องพิมพ์คีย์เอง
- ลิงก์ otpauth คือบรรทัดข้อความหน้าตาประมาณ otpauth://totp/Example:user?secret=JBSWY3DPEHPK3PXP&issuer=Example ค่าที่ตามหลัง secret= คือคีย์ Base32 ส่วนที่เหลือคือป้ายชื่อและการตั้งค่า เช่น issuer อัลกอริทึม จำนวนหลัก และช่วงเวลา
ถ้าคุณมีเพียงภาพ QR หรือลิงก์ otpauth ความลับก็คือข้อความที่อยู่หลัง secret= และก่อนเครื่องหมาย & ตัวถัดไป การตั้งค่ามาตรฐานใช้ SHA-1 ตัวเลข 6 หลัก และช่วงเวลา 30 วินาที และแอปจะสมมติค่าเริ่มต้นเหล่านี้เมื่อคุณพิมพ์เฉพาะความลับ ส่วนการสแกน QR Code หรือนำเข้าลิงก์เต็มจะใช้การตั้งค่าที่ไม่ใช่ค่าเริ่มต้นซึ่งอยู่ในนั้นด้วย
Secret Key 2FA, รหัสสำรอง และอีเมลสำหรับกู้คืนบัญชี
สามสิ่งนี้ปกป้องบัญชีเดียวกัน แต่ทำหน้าที่ต่างกันโดยสิ้นเชิง:
- Secret Key ของ 2FA เป็นสตริง Base32 ที่ใช้งานได้ยาวนาน สร้างรหัสใหม่ทุก 30 วินาที และจะเปลี่ยนก็ต่อเมื่อรีเซ็ตหรือตั้งค่า 2FA ใหม่เท่านั้น
- รหัสสำรอง (Backup Codes) คือรหัสใช้ครั้งเดียวที่แพลตฟอร์มอาจให้ไว้สำหรับวันที่คุณเข้าแอปยืนยันตัวตนไม่ได้ แต่ละรหัสใช้ได้เพียงครั้งเดียว และไม่ใช่ Secret Key แบบ Base32 จึงนำไปใช้ในแอปยืนยันตัวตนหรือเครื่องมือ TOTP ไม่ได้
- อีเมลสำหรับกู้คืนบัญชี คือกล่องจดหมาย ไม่ใช่รหัส เป็นที่รับการยืนยันการเข้าสู่ระบบและลิงก์รีเซ็ต ในบรรทัดที่ส่งมอบจะเป็นที่อยู่อีเมล และมักตามด้วยรหัสผ่านของกล่องจดหมายนั้น
Secret Key สร้างรหัสที่ใช้ทุกวัน รหัสสำรองคือยางอะไหล่ และอีเมลสำหรับกู้คืนคือทางกลับเข้าบัญชีเมื่ออย่างอื่นพัง ควรจดบันทึกทั้งสามอย่างนี้แยกจากกันให้ชัดเจน
วิธีหา Secret Key ในบรรทัดที่ส่งมอบและทดสอบ
ข้อมูลที่ส่งมอบจะมาเป็นไฟล์ TXT ที่มีบรรทัดแบบ username:password:email:email_password:auth_token โดยช่องข้อมูลที่แน่นอนจะแตกต่างกันไปตามหมวดหมู่ เมื่อหมวดหมู่ใดมีคีย์ 2FA รวมอยู่ด้วย คีย์นั้นจะเป็นอีกหนึ่งช่องในบรรทัด อย่านับตำแหน่งแบบเดาสุ่ม ให้อ่านคำอธิบายของหมวดหมู่ แล้วเทียบกับบรรทัดแรกของไฟล์
คุณยังสังเกตช่องข้อมูลจากรูปร่างได้ด้วย:
- Secret Key ยาว 16 ตัวอักษรขึ้นไป เป็นตัวอักษรพิมพ์ใหญ่และตัวเลข 2 ถึง 7 ไม่มีเครื่องหมายวรรคตอน
- auth_token เป็นสตริงเลขฐานสิบหกยาว ๆ เป็นโทเค็นของเซสชัน ไม่ใช่ตัวสร้างรหัส จึงใช้แทน Secret Key ไม่ได้ สำหรับวิธีนั้นดู การเข้าสู่ระบบ Twitter ด้วย auth token
- รหัสผ่าน อาจมีเครื่องหมายโคลอน ซึ่งเป็นเหตุผลที่การแบ่งบรรทัดด้วย ":" แบบตรง ๆ บางครั้งทำให้บรรทัดเพี้ยน
หากต้องการตรวจว่าทุกบรรทัดมีรูปแบบเดียวกัน ให้วางตัวอย่างลงในเครื่องมือระบุรูปแบบ และหากต้องการดึงเฉพาะคอลัมน์ที่เก็บ Secret Key ให้ใช้ split-by-delimiter
จากนั้นทดสอบ Secret Key ได้ภายในไม่กี่วินาที เปิดเครื่องมือ 2FA ฟรี วาง Secret Key แล้วรหัส 6 หลักจะปรากฏพร้อมตัวนับถอยหลัง หากเครื่องมือแจ้งว่า Secret Key ไม่ถูกต้อง ให้กลับไปดูรายการข้อผิดพลาดในการพิมพ์ข้างต้น หากรหัสขึ้นแต่การเข้าสู่ระบบปฏิเสธ ให้ตรวจสอบนาฬิกาของอุปกรณ์ และดูวิธีแก้เมื่อรหัส 2FA ใช้ไม่ได้
เก็บ Secret Key อย่างปลอดภัยเมื่อดูแลหลายบัญชี
บรรทัดที่ส่งมอบมักมีรหัสผ่านและ Secret Key ของ 2FA อยู่ด้วยกัน ทำให้ใครก็ตามที่เปิดไฟล์ได้ครบทั้งสองปัจจัย ดังนั้นควรปกป้องไฟล์ทั้งไฟล์ ไม่ใช่ปกป้องแยกทีละช่อง:
- เก็บไฟล์ไว้ในโฟลเดอร์ส่วนตัวโฟลเดอร์เดียว ที่จำกัดสิทธิ์การเข้าถึง และหลีกเลี่ยงแอปแชต เอกสารที่แชร์ร่วมกัน และภาพหน้าจอ
- ทดสอบ Secret Key ทุกอันหลังได้รับไม่นาน และจดวันที่ไว้ข้างบัญชี เพื่อให้เห็นปัญหาตั้งแต่เนิ่น ๆ
- ติดป้ายว่าแต่ละสตริงคืออะไร เพื่อไม่ให้รหัสสำรองแบบใช้ครั้งเดียวหลุดเข้าไปในแอปยืนยันตัวตน
- นับจำนวนสำเนาที่มี การโหลดความลับเดียวกันลงในแอปยืนยันตัวตนตัวที่สองเป็นการสำรองข้อมูลที่สมเหตุสมผล แต่ทุกสำเนาคืออีกจุดหนึ่งที่ข้อมูลอาจรั่วไหลได้
สำหรับแผนที่ครอบคลุมกว่านี้ อ่านการยืนยันตัวตนสองขั้นตอนและการวางแผนกู้คืนบัญชี และสำหรับศัพท์ในรายการสินค้า ดูอภิธานศัพท์เกี่ยวกับบัญชี เมื่อเปรียบเทียบหมวดหมู่อย่าง Phone Verified Aged Accounts ให้อ่านคำอธิบายเพื่อดูว่าไฟล์ที่ส่งมอบมีอะไรบ้าง หากคุณต้องใช้คีย์ 2FA ให้ยืนยันเรื่องนี้ก่อนสั่งซื้อ หรือสอบถามฝ่ายซัพพอร์ตทาง Telegram
คำถามที่พบบ่อย
Secret Key ของ 2FA หน้าตาเป็นอย่างไร?
เป็นสตริงของตัวอักษรพิมพ์ใหญ่ A ถึง Z และตัวเลข 2 ถึง 7 ปกติยาว 16 ถึง 32 ตัวอักษร เช่น JBSWY3DPEHPK3PXP ในตัวอย่างจากเอกสารประกอบ บางแพลตฟอร์มแสดงเป็นกลุ่มที่คั่นด้วยช่องว่างหรือขีดกลาง
Secret Key ของ 2FA เหมือนกับรหัสสำรองหรือไม่?
ไม่เหมือน Secret Key สร้างรหัสใหม่ทุก 30 วินาทีตราบใดที่การตั้งค่า 2FA นั้นยังใช้งานอยู่ ส่วนรหัสสำรองเป็นรหัสใช้ครั้งเดียว ใช้ได้เพียงหนึ่งครั้ง และนำไปใช้ในแอปยืนยันตัวตนไม่ได้
แปลง QR Code ให้เป็น Secret Key ได้ไหม?
ได้ QR Code สำหรับตั้งค่าเก็บลิงก์ otpauth ไว้ และ Secret Key คือค่าที่ตามหลัง secret= ในข้อความนั้น ควรเก็บข้อความนั้นเป็นความลับ เพราะมีความอ่อนไหวไม่ต่างจากตัวคีย์
ทำไมบาง Secret Key จึงมีช่องว่างหรือขีดกลาง?
ช่องว่างมีไว้เพื่อให้อ่านง่ายเท่านั้น มักแบ่งเป็นกลุ่มละสี่ตัวอักษร หากแอปปฏิเสธคีย์ ให้ลบช่องว่างและขีดกลางออก ส่วนเครื่องมือ 2FA ฟรีรับคีย์ในรูปแบบเดิมได้เลย
ใช้ Secret Key เดียวกันในสองแอปพร้อมกันได้หรือไม่?
ได้ แอปหรืออุปกรณ์ใดที่มีความลับเดียวกันและตั้งนาฬิกาถูกต้องจะแสดงรหัสเดียวกัน ใช้เป็นตัวสำรองได้สะดวก แต่ทุกสำเนาคืออีกจุดหนึ่งที่ความลับอาจถูกเปิดเผย

