SHA-1 มีความปลอดภัยสำหรับการจัดเก็บรหัสผ่านหรือไม่?
สรุป: SHA-1 มีความปลอดภัยเทียบเท่ากับสิ่งใด ๆ ก็ตามจากการโจมตีของ preimage อย่างไรก็ตามมันง่ายในการคำนวณซึ่งหมายความว่าง่ายต่อการติดตั้งการโจมตีแบบ bruteforce หรือพจนานุกรม (เช่นเดียวกับผู้สืบทอดเช่น SHA-256) ฟังก์ชั่นแฮชซึ่งได้รับการออกแบบให้มีราคาแพงในการคำนวณ (เช่น bcrypt) อาจเป็นทางเลือกที่ดีกว่า บางคนพูดอย่างเช่น "SHA-1 เสีย" มากดังนั้นฉันพยายามที่จะเข้าใจความหมายที่แท้จริง สมมติว่าฉันมีฐานข้อมูลของรหัสผ่านแฮช SHA-1 และผู้โจมตีที่มีอัลกอริทึมการทำลาย SHA-1 ที่ทันสมัยและบอตเน็ตที่มี 100,000 เครื่องเข้าถึงได้ (การควบคุมคอมพิวเตอร์ที่ใช้ภายในบ้านมากกว่า 100k หมายความว่าพวกเขาสามารถทำงานได้ประมาณ 10 ^ 15 ต่อวินาที) พวกเขาจะต้องใช้เวลานานเท่าใด ค้นหารหัสผ่านของผู้ใช้คนใดคนหนึ่งหรือไม่ ค้นหารหัสผ่านของผู้ใช้ที่กำหนดหรือไม่ ค้นหารหัสผ่านของผู้ใช้ทั้งหมดหรือไม่ หาวิธีเข้าสู่ระบบในฐานะผู้ใช้คนใดคนหนึ่ง? หาวิธีเข้าสู่ระบบในฐานะผู้ใช้เฉพาะหรือไม่? จะเปลี่ยนไปอย่างไรหากรหัสผ่านถูกใส่เกลือ วิธีการเติมเกลือ (คำนำหน้า, คำนำหน้า, ทั้งสองหรือบางสิ่งที่ซับซ้อนกว่าเช่น xor-ing) มีความสำคัญหรือไม่? นี่คือความเข้าใจปัจจุบันของฉันหลังจาก googling โปรดแก้ไขคำตอบหากฉันเข้าใจผิดบางอย่าง หากไม่มีเกลือการโจมตีแบบสายรุ้งจะค้นหารหัสผ่านทั้งหมดทันที …