Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

Password Salting ในความปลอดภัยข้อมูลคืออะไร?

Password Salting คืออะไร?

Password Salting เป็นรูปแบบการเข้ารหัสรหัสผ่าน ที่นำ Password มาต่อท้าย Username แล้ว Hash สตริงตัวอักษรใหม่ โดยทั่วไปใช้ MD5 Hashing Algorithm

การทำงาน

  • พบใน Linux OS มากกว่า Microsoft ถือว่าปลอดภัยกว่า
  • สร้าง Username → User ตั้ง Password → ระบบต่อ Password เข้ากับ Username → Hash สตริงใหม่
  • แม้ 2 User ตั้ง Password เหมือนกัน Username ต่างกัน → Hash ต่างกัน

Salting (การเพิ่มเกลือ)

คำที่เกี่ยวข้องกับ Password Hashing ค่าเฉพาะที่เติมท้าย Password เพื่อสร้าง Hash Value ที่ต่างกัน เพิ่ม Layer ความปลอดภัย ต่อ Brute-force Attacks (ลองทุกรูปแบบจนเจอ Password)

คุณสมบัติและการใช้งาน

  • Salts: ข้อมูลสุ่มที่ใช้ใน Hashing Passwords/ข้อมูล ใน Cryptography Input มาก = ปลอดภัยมาก
  • แต่ละ Password มี Unique Salt ผ่าน Cryptographic Hash Function ระบบเก็บ Output Hash และ Salt ใน Database ปลอดภัย
  • Hashing Function ช่วย Admin ทำ Authentication โดยไม่เปิดเผย Plaintext Passwords
  • Salt สร้างได้จาก: Date-time, Username, Secret, Random Value, หรือผสมกัน Bcrypt = Hashing Algorithm ที่มี Unique Salts Per-hash โดย Default

ความเสี่ยงหากไม่มี Salt

  • Hash Values เหมือนกัน → โจมตีรู้ว่า: Default Password สำหรับทุก Account, หรือทาย Password ได้ → เข้าถึงทุก Account นั้น
  • Salting ป้องกัน Password Lists จาก Brute-force Attacks (Botnet ลองทุกรูปแบบ)