10
รหัสผ่านเกลือช่วยต่อต้านการโจมตีบนโต๊ะสีรุ้งได้อย่างไร?
ฉันมีปัญหาในการเข้าใจวัตถุประสงค์ของเกลือเป็นรหัสผ่าน ฉันเข้าใจว่าการใช้งานหลักคือขัดขวางการโจมตีของตารางสายรุ้ง อย่างไรก็ตามวิธีการที่ฉันใช้ในการดำเนินการนี้ดูเหมือนจะไม่ทำให้ปัญหาหนักขึ้น ฉันเคยเห็นแบบฝึกหัดมากมายที่แนะนำว่าเกลือถูกใช้ดังนี้: $hash = md5($salt.$password) เหตุผลที่แฮชตอนนี้แมปไม่ใช่รหัสผ่านดั้งเดิม แต่เป็นการรวมกันของรหัสผ่านและเกลือ แต่พูด$salt=fooและและ$password=bar $hash=3858f62230ac3c915f300c664312c63fตอนนี้ใครบางคนที่มีตารางสายรุ้งสามารถย้อนแฮชและสร้างอินพุต "foobar" จากนั้นพวกเขาสามารถลองใช้รหัสผ่านทั้งหมด (f, fo, foo, ... oobar, obar, bar, ar, ar) อาจใช้เวลาสองสามมิลลิวินาทีในการรับรหัสผ่าน แต่ไม่มากนัก การใช้งานอื่นที่ฉันเห็นอยู่ในระบบ Linux ของฉัน ใน / etc / shadow รหัสผ่านที่ถูกแฮชจะถูกเก็บไว้พร้อมกับเกลือ ยกตัวอย่างเช่นเกลือของ "foo" และรหัสผ่านของ "บาร์" $1$foo$te5SBM.7C25fFDu6bIRbX1จะสับไปนี้: หากแฮ็กเกอร์สามารถใช้มือของเขากับไฟล์นี้ได้ฉันไม่เห็นว่าจุดประสงค์ของเกลือte5SBM.7C25fFDu6bIRbXคืออะไร ขอบคุณสำหรับทุก ๆ แสงที่สามารถหลั่งออกมาได้ แก้ไข : ขอบคุณสำหรับความช่วยเหลือ เพื่อสรุปสิ่งที่ฉันเข้าใจเกลือทำให้รหัสผ่านที่แฮชมีความซับซ้อนมากขึ้นดังนั้นจึงมีโอกาสน้อยมากที่จะได้อยู่ในตารางรุ้งที่คำนวณไว้ล่วงหน้า สิ่งที่ฉันเข้าใจผิดมาก่อนคือฉันคิดว่ามีตารางรุ้งสำหรับแฮชทั้งหมด