11
เหตุใดยาดมจึงทำให้การโจมตีด้วยพจนานุกรมเป็นไปไม่ได้
อัปเดต: โปรดทราบว่าฉันไม่ได้ถามว่าเกลือคืออะไรตารางสายรุ้งคืออะไรการโจมตีตามพจนานุกรมคืออะไรหรือวัตถุประสงค์ของเกลือคืออะไร ฉันกำลังสอบถาม: หากคุณรู้จักผู้ใช้เกลือและแฮชการคำนวณรหัสผ่านของพวกเขาไม่ใช่เรื่องง่ายหรือ? ฉันเข้าใจกระบวนการและนำไปใช้ด้วยตนเองในบางโครงการของฉัน s = random salt storedPassword = sha1(password + s) ในฐานข้อมูลที่คุณจัดเก็บ: username | hashed_password | salt การใช้เกลือทุกครั้งที่ฉันเห็นจะเพิ่มเกลือที่ส่วนท้ายของรหัสผ่านหรือจุดเริ่มต้น: hashed_Password = sha1(s + password ) hashed_Password = sha1(password + s) ดังนั้นการโจมตีด้วยพจนานุกรมจากแฮกเกอร์ที่คุ้มค่ากับเกลือของเขา (ฮ่าฮ่า) จะเรียกใช้คำหลักแต่ละคำเทียบกับเกลือที่เก็บไว้ในชุดค่าผสมทั่วไปที่ระบุไว้ข้างต้น แน่นอนว่าการใช้งานที่อธิบายไว้ข้างต้นเป็นการเพิ่มขั้นตอนอื่นสำหรับแฮ็กเกอร์โดยไม่ได้แก้ปัญหาพื้นฐานจริงหรือ? มีทางเลือกใดบ้างในการแก้ไขปัญหานี้หรือฉันเข้าใจปัญหาผิด สิ่งเดียวที่ฉันคิดได้คือมีอัลกอริธึมการผสมที่เป็นความลับซึ่งผูกเกลือและรหัสผ่านเข้าด้วยกันในรูปแบบสุ่มหรือเพิ่มช่องผู้ใช้อื่น ๆ ในกระบวนการแฮชซึ่งหมายความว่าแฮ็กเกอร์จะต้องเข้าถึงฐานข้อมูลและรหัสเพื่อทำการปัก สำหรับการโจมตีพจนานุกรมเพื่อพิสูจน์ว่ามีผล (อัปเดตตามที่ระบุไว้ในความคิดเห็นควรถือว่าแฮ็กเกอร์สามารถเข้าถึงข้อมูลทั้งหมดของคุณได้ดังนั้นจึงอาจไม่ดีที่สุด) ให้ฉันยกตัวอย่างวิธีที่ฉันเสนอให้แฮ็กเกอร์แฮ็กฐานข้อมูลผู้ใช้ด้วยรายการรหัสผ่านและแฮช: ข้อมูลจากฐานข้อมูลที่ถูกแฮ็กของเรา: RawPassword (not stored) | Hashed | …