ทำแล็ปท็อปที่เข้ารหัส LUKS หายเมื่อปลายปี 2019 และตอนนี้กำลังพยายามหาโอกาสที่ผู้โจมตีที่มีความสามารถสูงจะสามารถเจาะเข้ามาได้
คอนเทนเนอร์ LUKS ถูกสร้างขึ้นกลางปี 2017 ด้วยการตั้งค่าเริ่มต้นของ LUKS1
CPU ที่ผมใช้ตอนนั้นคือ a อินเทล คอร์ i7-6700K ที่ฉันยังมีอยู่
ฉันใช้เกณฑ์มาตรฐานบางอย่างกับ เกณฑ์มาตรฐาน cryptsetup
ซึ่งสร้างค่าต่อไปนี้สำหรับ PBKDF2-sha1
PBKDF2-sha1 1659139 ซ้ำต่อวินาทีสำหรับคีย์ 256 บิต
ฉันจำรหัสผ่านที่ใช้ไม่ได้ (ฉันมีมากเกินไป) ยกเว้นรหัสผ่านที่มีความยาวอย่างน้อย 14 อักขระและมี [a-z0-9] และไม่รวมอยู่ในพจนานุกรมใดๆ (ตรวจสอบที่ rockyou2021.txt)
ฉันพบตารางเกณฑ์มาตรฐานบน GitHub โดยใช้ Nvidia GeForce RTX 3090.
โหมดแฮช: 12000 - PBKDF2-HMAC-SHA1 (การทำซ้ำ: 999)
Speed.#1.........: 9240.9 kH/s (47.48ms) @ Accel:16 ลูป:499 Thr:1024 Vec:1
โหมดแฮช: 12001 - Atlassian (PBKDF2-HMAC-SHA1) (การทำซ้ำ: 9999)
ความเร็ว#1.........: 923.3 kH/s (72.49ms) @ Accel:8 ลูป:1024 Thr:1024 Vec:1
โหมดแฮช: 22600 - รหัสผ่านแอป Telegram Desktop (PBKDF2-HMAC-SHA1) (การทำซ้ำ: 3999)
ความเร็ว#1.........: 328.7 kH/s (63.58ms) @ Accel:8 ลูป:128 Thr:1024 Vec:1
จากตัวเลขเหล่านี้ ฉันสรุปได้ว่า GPU สามารถคำนวณ 9249 kH/s สำหรับการวนซ้ำ 1,000 ครั้ง
หากจำนวนการวนซ้ำเพิ่มขึ้น 1659 ถึง 1659139 นั่นหมายถึงความเร็วของ GPU จะลดลงเป็น: $\frac{9249 kH/s}{1659}$ = 5575 ชม./วินาที ซึ่งหมายความว่าผู้โจมตีสามารถตรวจสอบรหัสผ่านได้เพียง 5575 รหัสต่อวินาทีด้วย GPU ตัวเดียว
รหัสผ่านที่เป็นไปได้ตามชุดอักขระ ([a-z0-9], ความยาว=14) คือ: $36^{14}$.
เพื่อความเรียบง่าย ลองตัดครึ่งนั้นออก ซึ่งเหลือกรณีเฉลี่ยของ: $\frac{36^{14}}{2}=3*10^{21}$.
ซึ่งหมายความว่าผู้โจมตีจะใช้เวลาโดยเฉลี่ย $\frac{3*10^{21}}{5575}=5*10^{17}$ วินาทีเพื่อค้นหารหัสผ่านที่ถูกต้องซึ่งเท่ากับ $3*10^{9}$ ปี. นั่นหมายความว่าแม้ว่าผู้โจมตีจะมี GPU จำนวน 1 ล้านเครื่อง แต่ก็ยังต้องใช้เวลา 300 ปีในการถอดรหัสรหัสผ่าน
คำถามของฉันคือ:
- จำนวนการวนซ้ำที่ค่อนข้างสูงจะชดเชยค่าเอนโทรปีที่ค่อนข้างอ่อนแอของรหัสผ่านของฉันได้ในระดับใดเมื่อพิจารณาจากการโจมตีแบบเดรัจฉานหรือการใช้พจนานุกรมใน GPU สมัยใหม่
- ฉันพลาดรายละเอียดที่สำคัญในการวิเคราะห์ของฉันหรือไม่?