ปล่อยให้ การแบ่งปันความลับของ Shamir (SSS) ถูกสร้างขึ้นจากเขตข้อมูลจำกัด $K = \mathbb F_{p^m}$, เช่น. $K$ เป็นส่วนขยายฟิลด์ที่มีขอบเขตจำกัดด้วย $p^m$ องค์ประกอบ, $คำสั่ง(K) = p^m$.
เมื่อผู้โจมตีเข้าถึง $k-1$ ของ $k$ หุ้นของ SSS มูลค่าที่เหลือทั้งหมดจากการ $K$ มีโอกาสเท่ากันที่จะเป็นผู้ได้หุ้นสุดท้าย นี่เป็นเพราะทรัพย์สินของ SSS; มีแผนการแบ่งปันความลับที่สมบูรณ์แบบ (เช่น มี ความลับที่สมบูรณ์แบบ ). ดังนั้น; ผู้โจมตีไม่ได้เรียนรู้อะไรเลยเว้นแต่พวกเขาจะถือหุ้นทั้งหมด
ผู้โจมตีในขณะที่ถือ $k-1$ หุ้นมี $p^m$ ผู้สมัครที่เป็นไปได้เท่ากันสำหรับส่วนแบ่งสุดท้าย ความเป็นไปได้เดียวสำหรับพวกเขาคือพยายามให้พวกเขาทั้งหมดแยกแยะกับตัวจริง ไม่มีอะไรมากไปกว่านี้
แทนที่จะจ่ายเงิน (หรือขโมย) สำหรับ $k-1$ แบ่งปันที่พวกเขาสามารถลองทั้งหมด $p^m$ องค์ประกอบของสนาม เพราะ;
- พวกเขาไม่มีประโยชน์ที่จะมี $k-1$ หุ้น หรือ $1$ หุ้น พวกเขาเหมือนกันหมด SSS มีความลับที่สมบูรณ์แบบ
ขณะนี้ เนื่องจากรหัสผ่านถูกสร้างขึ้นจากความลับที่ใช้ร่วมกัน จึงมีการจำกัดจำนวนรหัสผ่านที่เป็นไปได้ $p^m$. สมมติว่าใช้วิธีการแฮชรหัสผ่านที่ไม่ถูกต้อง เช่น SHA-256 เพียงอย่างเดียว ขนาดของฟิลด์จะต้องใหญ่กว่า $2^{93}$ เนื่องจากนักขุด Bitcoin สามารถเข้าถึง SHA-256D จำนวนนี้ได้ภายในหนึ่งปี ดังนั้นจึงแนะนำให้มีฟิลด์ที่มีลำดับมากกว่า $2^{128}$.
เราต้องการอัลกอริธึมแฮชรหัสผ่านที่ดีกว่า เช่น Argon2id เพื่อจำกัดความสามารถของผู้โจมตี ตัวอย่างเช่น หากคุณใช้ PBKDF2 โดยมีจำนวนการวนซ้ำเท่ากับ 1M ( Argon2 มีการวนซ้ำด้วย) คุณจะลดการค้นหาของผู้โจมตีโดย $\ประมาณ 2^{20}$. หากคุณใช้เมมโมรี่ฮาร์ดและจำนวนเธรดที่สนับสนุนฟังก์ชันการแฮชรหัสผ่าน เช่น Argon2 คุณจะลดความสามารถในการขนานกันของผู้โจมตี โดยเฉพาะอย่างยิ่งในกรณี ASIC/GPU ตัดสินใจเลือกความเสี่ยงและความปลอดภัยเป้าหมาย จากนั้นปรับพารามิเตอร์ของฟังก์ชันแฮชรหัสผ่าน และอย่าลืมใส่เกลือสุ่มในการแฮชรหัสผ่าน
ถ้าใช้ส่วนแบ่งด้วย เพื่อสร้างคีย์เข้ารหัสส่วนแบ่งต้องเท่ากับหรือใหญ่กว่าขนาดคีย์ เหตุผลง่ายๆ คือ ไม่สามารถเพิ่มเอนโทรปีได้โดยการแฮช
เป็นไปได้ไหมที่ผู้โจมตีสามารถใช้กำลังดุร้ายและค้นหารหัสผ่านได้ เนื่องจากมีวิธีตรวจสอบว่ารหัสผ่านที่เดาถูกต้องหรือไม่ (เช่น ใช้การเข้าสู่ระบบบนเว็บไซต์หลายครั้งจนกว่าคุณจะเข้าได้)
เว็บไซต์/ระบบที่ดีส่วนใหญ่จะป้องกันการโจมตีเหล่านี้โดยจำกัดการลองรหัสผ่านหรือมีการตรวจสอบสิทธิ์แบบ 2 ปัจจัย อย่างไรก็ตาม เราอาจสันนิษฐานว่าผู้โจมตีเข้าถึงฐานข้อมูลเพื่อรับแฮชของรหัสผ่าน นี่เป็นรูปแบบการโจมตีตามปกติในการรักษาความปลอดภัยด้วยรหัสผ่าน ดังนั้นเพิ่มลำดับฟิลด์
ไม่สั่งซื้อ $n$ ของสนามที่ จำกัด ในการโจมตีด้วยกำลังเดรัจฉานเช่นนี้? จะเพิ่มมูลค่าของ $n$ ให้ความปลอดภัยเพิ่มเติมในสถานการณ์เช่นนี้หรือไม่
ใช่และใช่ตามข้างต้น