Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบเครือข่าย >> ความปลอดภัยเครือข่าย

แฮชชิง (Hashing) ในความปลอดภัยเครือข่ายคืออะไร?

แฮชชิงคืออะไร พร้อมตัวอย่าง

แฮชชิงเป็นกระบวนการแปลงข้อมูลขนาดใหญ่ให้กลายเป็นค่าคงที่ (Hash Value) ด้วยอัลกอริทึมคณิตศาสตร์ ตัวอย่าง: การค้นหาเลขเฉพาะในรายการ 20,000 รายการ แฮชช่วยให้ค้นหาได้เร็วขึ้นโดยไม่ต้องสแกนทีละรายการ

ฟังก์ชันแฮช (Hash Function) ในความปลอดภัยเครือข่าย

ฟังก์ชันแฮชแปลงค่าใดๆ ให้เป็นค่าคงที่ (เช่น 256 บิตสำหรับ SHA-256) ซึ่งมีลักษณะสุ่ม ไม่สามารถย้อนกลับได้ และค่าเดิมจะได้แฮชเดิมเสมอ มักแสดงในรูปฐานสิบหก (Hexadecimal)

แนวคิดของแฮชชิง

การแปลงค่าหนึ่งเป็นอีกค่าหนึ่งด้วยอัลกอริทึมคณิตศาสตร์ ผลลัพธ์เรียกว่า Hash Value หรือ Hash Code ใช้สำหรับตรวจสอบความสมบูรณ์ของข้อมูล และจัดเก็บรหัสผ่านอย่างปลอดภัย

แฮชชิง vs การเข้ารหัส (Encryption)

ลักษณะแฮชชิง (Hashing)การเข้ารหัส (Encryption)
ทิศทางหนึ่งทาง (One-way) ไม่สามารถย้อนกลับได้สองทาง (Two-way) ถอดรหัสได้ด้วยคีย์
วัตถุประสงค์ตรวจสอบความสมบูรณ์ ยืนยันตัวตนปกป้องความลับของข้อมูล
ตัวอย่างSHA-256, MD5AES, RSA

การใช้แฮชชิงในความปลอดภัย

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

แฮชชิงให้ความปลอดภัยจริงหรือไม่?

อัลกอริทึมมาตรฐานอย่าง SHA-256 (256 บิต) ถือว่าปลอดภัย เพราะคำนวณย้อนกลับหรือหาค่าที่ให้แฮชซ้ำกัน (Collision) ยากอย่างไม่เป็นไปได้ แต่ฟังก์ชันแฮชบางตัวเก่า (เช่น MD5, SHA-1) มีช่องโหว่แล้ว

บทบาทของฟังก์ชันแฮชในความปลอดภัย

ใช้กันอย่างแพร่หลายในระบบยืนยันตัวตน ใบรับรองดิจิทัล บล็อกเชน และการตรวจสอบไฟล์ เพราะให้ค่าคงที่ที่ไม่ซ้ำกันสำหรับข้อมูลแต่ละชุด

อัลกอริทึมแฮชชิงยอดนิยม

  • MD5 (128 บิต) – เก่า มีช่องโหว่ Collision
  • SHA-1 (160 บิต) – ไม่แนะนำให้ใช้ใหม่
  • SHA-2 (SHA-256, SHA-384, SHA-512) – มาตรฐานปัจจุบัน
  • NTLM, LANMAN – ใช้ในระบบ Windows เดิม

ประเภทของแฮชชิง

แบ่งตามขนาดเอาต์พุตและอัลกอริทึม เช่น SHA-256 (256 บิต) SHA-512 (512 บิต) ส่วน Collision คือกรณีข้อมูลต่างกันให้แฮชเท่ากัน ซึ่งอัลกอริทึมที่ดีต้องทำให้เกิด Collision ได้ยากที่สุด

แฮชชิงปลอดภัยได้อย่างไร?

ตามมาตรฐาน FIPS 180-4 ฟังก์ชันแฮชปลอดภัยต้องมีคุณสมบัติ: ไม่สามารถหาข้อมูลต้นทางจากแฮชได้ (Pre-image resistance) และหาข้อมูลสองชุดที่ให้แฮชเท่ากันได้ยาก (Collision resistance)

จุดสำคัญของแฮชชิง

  • กระจายค่าให้ทั่วก่อนในอาร์เรย์ (Uniform distribution)
  • คีย์แปลงเป็นดัชนีผ่านฟังก์ชันแฮช
  • เข้าถึงข้อมูลได้ในเวลาคงที่ O(1)

วัตถุประสงค์ของแฮชชิง

1. ยืนยันความสมบูรณ์ของข้อมูล (Integrity) 2. ป้องกันการเก็บรหัสผ่านแบบ Plaintext 3. ใช้ในการลงนามดิจิทัลและบล็อกเชน

ความแตกต่างหลัก: แฮชชิง vs เข้ารหัส

เข้ารหัสสามารถถอดรหัสกลับได้ด้วยคีย์ (Two-way) ส่วนแฮชชิงเป็น One-way ไม่สามารถย้อนกลับจากแฮชได้ แม้รู้อัลกอริทึมก็ตาม

สามารถถอดรหัสแฮชได้ไหม?

ไม่สามารถ เพราะออกแบบมาเป็น One-way function การ "แฮก" แฮชปกติทำด้วย Rainbow Table หรือ Brute-force ไม่ใช่การถอดรหัส

แฮกเกอร์ใช้แฮชชิงไหม?

แฮกเกอร์ไม่ได้ "ใช้แฮชชิง" เพื่อโจมตี แต่พยายามแตกแฮช (Crack hashes) ด้วย Dictionary Attack, Rainbow Table หรือ GPU Brute-force เพื่อค้นหารหัสผ่านต้นทาง

แฮชชิงสามารถย้อนกลับได้ไหม?

ไม่สามารถ ทฤษฎีแล้วฟังก์ชันแฮชแมปอินพุตไม่จำกัดให้เป็นเอาต์พุตคงที่ ดังนั้นข้อมูลหลายชุดอาจให้แฮชเท่ากัน (Pigeonhole principle) ทำให้ย้อนกลับไม่ได้อย่างแน่นอน