Score:2

การแฮชรหัสผ่านและฟังก์ชันแฮช

ธง es

ฉันเป็น noob ที่สมบูรณ์ ฉันกำลังอ่านเกี่ยวกับฟังก์ชันแฮช ดังนั้นหากธนาคารมีรหัสผ่านของผู้ใช้ที่รันผ่านฟังก์ชันแฮช มันจะสร้างแฮชที่ไม่ซ้ำกันสำหรับทุกรหัสผ่านใช่ไหม ดังนั้น แม้ว่าแฮ็กเกอร์จะสามารถจัดการกับข้อมูลบางอย่างได้ พวกเขาจะมีเพียงแค่แฮชเท่านั้น ไม่ใช่รหัสผ่านดั้งเดิม

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

คำถามของฉันคือ แฮ็กเกอร์จะทำเช่นนี้ได้ก็ต่อเมื่อเขารู้ว่าฟังก์ชันแฮช (ที่ธนาคารใช้) ทำงานอย่างไร เห็นได้ชัดว่าเขาไม่สามารถสร้างแฮชของรหัสผ่านทั่วไปได้หากเขาไม่รู้ว่าฟังก์ชันแฮชที่ธนาคารใช้ทำงานอย่างไร แล้วทำไมการแฮชโดยไม่ใส่เกลือจึงเป็นอันตรายต่อความปลอดภัย? นี่หมายความว่าฟังก์ชันแฮชทั้งหมดทำงานเหมือนกันหรือไม่

Score:1
ธง us

เห็นได้ชัดว่าเขาไม่สามารถสร้างแฮชของรหัสผ่านทั่วไปได้หาก เขาไม่รู้ว่าฟังก์ชันแฮชที่ธนาคารใช้ทำงานอย่างไร

นี่คือหลักฐานที่ผิดพลาด หากธนาคารต้องการให้มี การรับรอง FIPSตัวอย่างเช่น มันต้องแฮชรหัสผ่านด้วยบางอย่างที่ดี ที่ได้มาตรฐาน ฟังก์ชันแฮช ความปลอดภัยของการรับรองความถูกต้องด้วยรหัสผ่านไม่ได้เกิดจากความลับเกี่ยวกับ ฟังก์ชันแฮชทำงานอย่างไร --- นั่นจะถือเป็น "ความปลอดภัยโดยความสับสน" โดยไม่คำนึงถึงการรับรองของรัฐบาลประเภทใดก็ตาม การปล่อยให้การรักษาความปลอดภัยโดยปิดบังเป็นพื้นฐานหลักในการรักษาความปลอดภัยของคุณถือเป็นแนวทางปฏิบัติที่ไม่ดี ดู หลักการของเคิร์กฮอฟฟ์.

อย่างไรก็ตาม เป็นไปได้ที่จะรวมข้อมูล "ลับ" เข้ากับแฮช ซึ่งเป็นข้อมูลที่ผู้โจมตีไม่มี

  • เกลือ เป็นข้อมูลเพิ่มเติมที่ใช้เป็นอินพุตสำหรับแฮช แต่เก็บไว้ข้างแฮชรหัสผ่านดังนั้นหากผู้โจมตีสามารถรับแฮชของรหัสผ่านได้ พวกเขาก็สามารถรับเกลือได้เช่นกัน Salts ไม่ได้ป้องกันผู้โจมตีจากการลองเดารหัสผ่านทั่วไป แต่พวกเขาจะป้องกัน การคำนวณล่วงหน้า เช่น ตารางสีรุ้ง --- ผู้โจมตีจะไม่สามารถเริ่มลองเดารหัสผ่านทั่วไปได้จนกว่าจะ หลังจาก เรียนรู้เกลือ เกลือยัง "ปรับแต่ง" ฟังก์ชันแฮช เพื่อให้ผู้ใช้สองคนที่มีรหัสผ่านเดียวกันไม่มีรหัสเดียวกัน

  • พริกไทย เป็นข้อมูลเพิ่มเติมที่ใช้เป็นอินพุตของแฮช ซึ่งไม่ได้เก็บไว้ข้างเอาต์พุตแฮช Pepper เป็นความลับอย่างแท้จริง เนื่องจากอาจเป็นไปได้ที่จะขโมยแฮชรหัสผ่านโดยที่ยังไม่ได้ขโมย Pepper จำเป็นต้องตั้งค่าระบบตรวจสอบสิทธิ์เพื่อให้สามารถใช้พริกไทยได้ เซิร์ฟเวอร์ #1 เก็บแฮชรหัสผ่านและรวบรวมรหัสผ่านจากผู้ใช้ เซิร์ฟเวอร์ #2 แยกต่างหาก (โดยทั่วไปจะถูกล็อกจากโลกภายนอกมากกว่าเซิร์ฟเวอร์ #1) จะเก็บพริกไทยและคำนวณแฮช จากนั้นเซิร์ฟเวอร์ #1 จะเปรียบเทียบแฮชที่คำนวณใหม่กับแฮชที่เก็บไว้ และตัดสินใจอนุญาตผู้ใช้

Score:1
ธง in

คำถามของฉันคือ แฮ็กเกอร์จะทำเช่นนี้ได้ก็ต่อเมื่อเขารู้ว่าฟังก์ชันแฮช (ที่ธนาคารใช้) ทำงานอย่างไร เห็นได้ชัดว่าเขาไม่สามารถสร้างแฮชของรหัสผ่านทั่วไปได้ หากเขาไม่รู้ว่าฟังก์ชันแฮชที่ธนาคารใช้ทำงานอย่างไร แล้วทำไมการแฮชโดยไม่ใส่เกลือจึงเป็นอันตรายต่อความปลอดภัย? นี่หมายความว่าฟังก์ชันแฮชทั้งหมดทำงานเหมือนกันหรือไม่

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

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

หวังว่าระบบธนาคารจะไม่ได้พึ่งพาแค่รหัสผ่านเท่านั้น เนื่องจากมีความเสี่ยงสูงกว่า พวกเขามักจะต้องการการยืนยันตัวตนแบบสองปัจจัย รหัสผ่านแบบใช้ครั้งเดียว เป็นต้น

และจำไว้ว่าเราไม่ใช้แฮชการเข้ารหัสเป็นแฮชรหัสผ่าน เนื่องจากได้รับการออกแบบมาให้รวดเร็วและปลอดภัย ในทางกลับกัน แฮชรหัสผ่านสมัยใหม่ต้องการเกลือเฉพาะและ;

  • การวนซ้ำที่ควบคุมได้เพื่อลดการขนานขนาดใหญ่ของผู้โจมตี
  • หน่วยความจำสูงเพื่อลดการใช้งานจำนวนมากของสภาพแวดล้อมแบบ ASIC/GPU และ
  • เธรดที่ปรับได้เพื่อลดการขนาน

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

kelalaka avatar
in flag
และอ่าน [วิธีแฮชรหัสผ่านอย่างปลอดภัย?](https://security.stackexchange.com/q/211/86735) จากการรักษาความปลอดภัยข้อมูลไซต์อันทรงเกียรติของเรา

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา