Score:3

การแชร์ "รหัสผ่าน" โดยใช้ Shamir Secret Sharing มีความปลอดภัยเพียงใด มีวิธีตรวจสอบว่ารหัสผ่านถูกต้องหรือไม่

ธง us

สมมติว่าคุณมีคำสั่งซื้อ $n$ เขตข้อมูลจำกัดที่คุณใช้ในการสร้าง $k$ แบ่งปันรหัสผ่านโดยใช้ Shamir Secret Sharing สมมติว่าผู้โจมตีได้รับ $k-1$ หุ้น

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

ไม่สั่งซื้อ $n$ ของสนามที่ จำกัด ในการโจมตีด้วยกำลังเดรัจฉานเช่นนี้? จะเพิ่มมูลค่าของ $n$ ให้ความปลอดภัยเพิ่มเติมในสถานการณ์เช่นนี้หรือไม่

Score:2
ธง in

ปล่อยให้ การแบ่งปันความลับของ 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$ ให้ความปลอดภัยเพิ่มเติมในสถานการณ์เช่นนี้หรือไม่

ใช่และใช่ตามข้างต้น

Makky 56 avatar
us flag
ขอบคุณ ขนาดของฟิลด์จำกัดที่ใหญ่กว่านั้นดีกว่าไหม อย่างไรก็ตาม ฉันเห็นการใช้งาน SSS จำนวนมากโดยใช้ GF(2^32) หรือ GF(2^64) นั่นไม่ใช่ภัยคุกคามความปลอดภัยเหรอ? .. แต่แล้วผู้โจมตีจะได้รับหุ้น k-1 บ่อยแค่ไหน :)
kelalaka avatar
in flag
ขึ้นอยู่กับความเสี่ยงด้านความปลอดภัยของคุณจริงๆ คุณเห็นการใช้งานแบบใด สินค้าจริงหรือสาธิต? ดังที่ฉันได้กล่าวไปแล้วว่าผู้โจมตีไม่ต้องการส่วนแบ่ง $k-1$ เนื่องจาก SSS มีความลับที่สมบูรณ์แบบ การมี $k-1$ หรือไม่มีเท่ากับ น่าจะเป็นคำถามที่ดีกว่าสำหรับลิงก์เหล่านั้นและตำแหน่งที่ใช้
Score:2
ธง ar

โดยมีเงื่อนไขว่าการใช้การแบ่งปันความลับของ Shamir นั้นถูกต้อง ผู้โจมตีไม่ได้รับประโยชน์ ตั้งแต่รู้จนถึง $k-1$ หุ้น และ ขนาดของสนามไม่สำคัญ

ใช่ ผู้โจมตีสามารถดำเนินการโจมตีแบบเดาสุ่มเพื่อ (อาจให้เวลาเพียงพอ) ค้นหารหัสผ่าน แต่พวกเขาสามารถทำได้แม้ว่ารหัสผ่าน ไม่ใช่ แบ่งปันและรู้ถึง $k-1$ หุ้นไม่ได้ทำให้การโจมตีนี้ง่ายขึ้นแต่อย่างใด

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


แน่นอนว่าหากรหัสผ่านยาวเกินกว่าจะใส่ลงในองค์ประกอบฟิลด์จำกัดเดียวได้ มันจะต้องถูกแบ่งออกเป็นชิ้น ๆและชิ้นส่วนเหล่านั้นแบ่งปันแยกกัน แต่สิ่งนี้ไม่ส่งผลกระทบต่อคุณสมบัติความปลอดภัยทางทฤษฎีพื้นฐานของแผนการของ Shamir ซึ่งกล่าวว่าความรู้น้อยกว่า $k$ หุ้นไม่ให้ข้อมูลเกี่ยวกับความลับ ไม่ใช่เรื่องยากที่จะเข้าใจ เนื่องจากความลับที่ประกอบด้วยองค์ประกอบเขตข้อมูลจำกัดหลายรายการที่แยกจากกัน แต่ละองค์ประกอบใช้ร่วมกันอย่างอิสระโดยใช้โครงร่างของ Shamir ที่มีเกณฑ์ $k$,รู้ทัน $k-1$ หุ้นสำหรับ แต่ละ องค์ประกอบลับไม่ให้ข้อมูลเกี่ยวกับ ใดๆ ของพวกเขา. (นอกจากนี้ยังไม่ยากที่จะแสดงว่าสิ่งนี้มีไว้แม้ว่าพารามิเตอร์สาธารณะเดียวกัน รวมถึงส่วนแบ่ง $x$ พิกัดใช้สำหรับแบ่งปันทั้งหมด)

Daniel avatar
ru flag
คำตอบนี้ควรได้รับความสนใจมากกว่านี้ ประเด็นของการแบ่งปันความลับของ Shamir คือแม้ว่าคุณจะมีหุ้นจำนวนมาก ตราบใดที่คุณไม่มีจำนวนที่เหมาะสม คุณจะไม่ได้เรียนรู้ *ตัวอักษร* ที่คุณไม่รู้มาก่อนก่อนที่จะถือหุ้น
kelalaka avatar
in flag
@Daniel จริง ๆ แล้ว ฉันได้พูดถึงเรื่องนั้นไปแล้ว แต่ตอนนี้ฉันได้ปรับโหมดให้เป็นดวงตามากขึ้น
nick012000 avatar
tr flag
"หากมีการใช้การแบ่งปันความลับของ Shamir อย่างถูกต้อง ผู้โจมตีจะไม่ได้รับประโยชน์จากการรู้ถึงการแบ่งปันมากถึง kâ1 และขนาดของฟิลด์ไม่สำคัญ" พวกเขาจะไม่สามารถทำการโจมตีแบบเดาและตรวจสอบกำลังดุร้ายเพื่อดูว่าส่วนแบ่งสุดท้ายคืออะไร?
ar flag
@nick012000: ใช่ แต่มันไม่ได้มีประสิทธิภาพมากไปกว่าการโจมตีแบบคาดเดาและตรวจสอบอย่างดุร้ายเพื่อค้นหาว่าความลับคืออะไรโดยตรงโดยไม่จำเป็นต้องแบ่งปัน

โพสต์คำตอบ

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