Password Hashing: ทำไมห้ามเก็บรหัสผ่านเป็นข้อความธรรมดา

30 มิถุนายน 2569อ่าน 6 นาที
Password Hashing: ทำไมห้ามเก็บรหัสผ่านเป็นข้อความธรรมดา

ถ้าฐานข้อมูลเก็บรหัสผ่านเป็นข้อความธรรมดา วันที่ถูกเจาะคือวันที่รหัสลูกค้าทุกคนหลุด Password Hashing แปลงรหัสให้ย้อนกลับไม่ได้ เข้าใจว่าทำไมมันจำเป็น และทำผิดแบบไหนที่ยังเสี่ยง

หนึ่งในความผิดพลาดด้านความปลอดภัยที่ร้ายแรงที่สุดคือการเก็บรหัสผ่านของผู้ใช้เป็นข้อความธรรมดาในฐานข้อมูล เพราะถ้าระบบถูกเจาะ คนร้ายก็ได้รหัสของลูกค้าทุกคนไปทันที และเนื่องจากคนมักใช้รหัสเดียวกันหลายที่ ความเสียหายก็ลามไปถึงบัญชีอื่นของเขาด้วย Password Hashing คือการแปลงรหัสผ่านให้เป็นค่าที่ย้อนกลับไม่ได้ก่อนเก็บ เวลาผู้ใช้ล็อกอิน ระบบก็แปลงรหัสที่กรอกด้วยวิธีเดียวกันแล้วเทียบค่า โดยไม่เคยเก็บรหัสจริงไว้เลย

แค่ hash อย่างเดียวยังไม่พอ

การ hash ที่ทำผิดวิธีก็ยังเสี่ยง เช่น ใช้วิธี hash ที่เร็วเกินไป ทำให้คนร้ายเดารหัสจำนวนมหาศาลได้เร็ว หรือไม่ใส่ค่าสุ่มเฉพาะแต่ละคน (salt) ทำให้รหัสที่เหมือนกันได้ค่าเหมือนกันและถูกถอดเป็นชุด วิธีที่ถูกคือใช้อัลกอริทึมที่ออกแบบมาเพื่อรหัสผ่านโดยเฉพาะ ซึ่งตั้งใจให้ช้าและเติม salt ให้แต่ละรหัส เพื่อให้การเดาแบบยิงจำนวนมากไม่คุ้มค่าสำหรับคนร้าย

  • อย่าเก็บรหัสผ่านเป็นข้อความธรรมดาเด็ดขาด
  • ใช้อัลกอริทึมที่ออกแบบมาเพื่อรหัสผ่าน ที่ตั้งใจให้ช้าและใส่ salt
  • พิจารณาให้ผู้ใช้ล็อกอินผ่านผู้ให้บริการอื่น เพื่อไม่ต้องเก็บรหัสเอง

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

Password HashingSecurityAuthenticationData Protection

บริการที่เกี่ยวข้อง

รับพัฒนาระบบและซอฟต์แวร์เฉพาะทาง

ออกแบบและวางระบบตามความต้องการเฉพาะของธุรกิจคุณ ตั้งแต่ต้นจนใช้งานจริง

WhaleScope

ดูโครงสร้างตลาดของทุกหมวดธุรกิจไทย บน WhaleScope

รายชื่อบริษัท ผู้เล่นรายใหญ่ และอัตราคงอยู่ของแต่ละหมวด — จากข้อมูลจดทะเบียน 2 ล้านนิติบุคคล

อ่านต่อ

OAuth: ให้ผู้ใช้ล็อกอินด้วยบัญชีอื่นอย่างปลอดภัย โดยไม่ต้องบอกรหัส

ปุ่ม เข้าสู่ระบบด้วย Google ทำงานอย่างไรโดยที่เว็บไม่เคยเห็นรหัสผ่านของคุณ OAuth คือมาตรฐานการมอบสิทธิ์ที่อยู่เบื้องหลัง เข้าใจว่ามันปลอดภัยกว่าการเก็บรหัสเองอย่างไร

Session Hijacking: ขโมยเซสชันคืออะไร และจัดการเซสชันให้ปลอดภัย

ผู้ใช้ล็อกอินแล้ว ระบบจำเขาด้วยเซสชัน ถ้าคนร้ายขโมยเซสชันนั้นไปได้ ก็สวมรอยเป็นผู้ใช้โดยไม่ต้องรู้รหัสผ่าน เข้าใจ Session Hijacking และวิธีจัดการเซสชันให้ปลอดภัย

Passkeys: โลกหลังรหัสผ่าน ที่ล็อกอินง่ายขึ้นและขโมยยากขึ้นพร้อมกัน

รหัสผ่านคือจุดอ่อนที่โลกทนใช้มาห้าสิบปี ทั้งถูกเดา ถูกหลอกถาม และรั่วเป็นล้านรายการ Passkey แทนที่มันด้วยกุญแจดิจิทัลบนอุปกรณ์ที่ปลดด้วยลายนิ้วมือหรือใบหน้า ไม่มีอะไรให้จำ และไม่มีอะไรให้คนร้ายหลอกเอา

Encryption at Rest และ in Transit: เข้ารหัสข้อมูลตอนเก็บและตอนส่ง

ข้อมูลลูกค้าถูกขโมยได้สองจังหวะ คือตอนถูกเก็บอยู่ และตอนเดินทางผ่านเครือข่าย Encryption at Rest และ in Transit ปิดทั้งสองช่องนี้ เป็นพื้นฐานที่ทุกธุรกิจที่ถือข้อมูลควรมี