คำถามของฉันคือ แฮ็กเกอร์จะทำเช่นนี้ได้ก็ต่อเมื่อเขารู้ว่าฟังก์ชันแฮช (ที่ธนาคารใช้) ทำงานอย่างไร เห็นได้ชัดว่าเขาไม่สามารถสร้างแฮชของรหัสผ่านทั่วไปได้ หากเขาไม่รู้ว่าฟังก์ชันแฮชที่ธนาคารใช้ทำงานอย่างไร แล้วทำไมการแฮชโดยไม่ใส่เกลือจึงเป็นอันตรายต่อความปลอดภัย? นี่หมายความว่าฟังก์ชันแฮชทั้งหมดทำงานเหมือนกันหรือไม่
หลักฐานของคุณไม่ถูกต้องเนื่องจากคุณคิดว่าธนาคารปลอดภัยจากการแฮ็กและเก็บแฮชรหัสผ่านจากผู้โจมตี หากธนาคารเคยใช้การแฮชรหัสผ่านโดยไม่ใส่เกลือ การจัดการความเสี่ยงของพวกเขาจะแย่มาก พวกเขาจำเป็นต้องเริ่มการทำงานของตัววิเคราะห์ความเสี่ยง
ดังนั้น เมื่อธนาคารใช้การแฮชรหัสผ่านโดยไม่ใส่เกลือ จึงเป็นเรื่องของเวลาที่พวกเขาจะถูกโจมตี และรหัสผ่านเกือบทั้งหมดจะถูกเปิดเผยอย่างง่ายดาย
หวังว่าระบบธนาคารจะไม่ได้พึ่งพาแค่รหัสผ่านเท่านั้น เนื่องจากมีความเสี่ยงสูงกว่า พวกเขามักจะต้องการการยืนยันตัวตนแบบสองปัจจัย รหัสผ่านแบบใช้ครั้งเดียว เป็นต้น
และจำไว้ว่าเราไม่ใช้แฮชการเข้ารหัสเป็นแฮชรหัสผ่าน เนื่องจากได้รับการออกแบบมาให้รวดเร็วและปลอดภัย ในทางกลับกัน แฮชรหัสผ่านสมัยใหม่ต้องการเกลือเฉพาะและ;
- การวนซ้ำที่ควบคุมได้เพื่อลดการขนานขนาดใหญ่ของผู้โจมตี
- หน่วยความจำสูงเพื่อลดการใช้งานจำนวนมากของสภาพแวดล้อมแบบ ASIC/GPU และ
- เธรดที่ปรับได้เพื่อลดการขนาน
อัลกอริธึมการแฮชรหัสผ่านที่ดีบางอย่างที่คุณอาจต้องการดู ได้แก่ การแฮชแบบ Argon2, Scrypt และ Balloon ในท้ายที่สุด ไม่แนะนำให้แฮชรหัสผ่านโดยไม่ใส่เกลือเฉพาะ หากใช้แล้ว Rainbow Tables จะเป็นสัตว์ประหลาดที่ซุ่มซ่อนอยู่บนถนนถัดไป...