Score:1

ฉันสามารถใช้ SHA256 จากข้อความรหัสผ่าน BIP39 สำหรับข้อมูลรับรองการตรวจสอบสิทธิ์ได้หรือไม่

ธง cn

ฉันกำลังทำงานกับแอปที่เข้ารหัส E2E ฉันใช้ OpenPGP.js และจัดเก็บคีย์สาธารณะและส่วนตัวบนเซิร์ฟเวอร์ คีย์ส่วนตัวถูกเข้ารหัสด้วยข้อความรหัสผ่าน BIP39 ซึ่งจัดเก็บไว้ใน LocalStorage ของเบราว์เซอร์ ดังนั้นจึงไม่มีการส่งไปยังเซิร์ฟเวอร์ แต่ฉันยังต้องการข้อมูลประจำตัวสำหรับผู้ใช้เพื่อเข้าสู่ระบบ

ความคิดของฉันคือสร้าง SHA256 จากข้อความรหัสผ่าน BIP39 และแยกเป็นสองสตริง ตัวแรกใช้สำหรับ "ชื่อผู้ใช้" และตัวที่สองสำหรับรหัสผ่านเซิร์ฟเวอร์

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

แนวทางนี้ถูกต้องหรือไม่? ขอขอบคุณ.

kelalaka avatar
in flag
[การได้รับคีย์ AES หลายรายการจากมาสเตอร์คีย์](https://crypto.stackexchange.com/q/76588/18298)
Score:1
ธง vn

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

หากคุณมีความลับ "หลัก" เดียวและจำเป็นต้องแยกออกเป็นสองความลับหรือมากกว่านั้น เช่น การรู้ความลับใดในนั้นไม่ได้ให้ข้อมูลเกี่ยวกับผู้เชี่ยวชาญ ดังนั้นสิ่งที่คุณต้องการคือ HKDF ซึ่งระบุไว้ใน อาร์เอฟซี 5869ซึ่งใช้ HMAC เพื่อสร้างความลับอิสระจำนวนเท่าใดก็ได้จากความลับเดียว

มีทางเลือกมากมายสำหรับ HKDF สำหรับจุดประสงค์นี้เช่นกัน หากคุณไม่ได้แต่งงานกับ SHA-256 คุณสามารถใช้ BLAKE2 ซึ่งรองรับ "แฮชส่วนบุคคล" ซึ่งอนุญาตให้คุณผสมค่าส่วนบุคคลได้ ค่าส่วนบุคคลที่ไม่ซ้ำกันส่งผลให้เกิดแฮชที่ไม่ซ้ำใคร แม้กระทั่งสำหรับอินพุตเดียวกัน

Score:1
ธง ng

ฉันสามารถใช้ SHA256 จากข้อความรหัสผ่าน BIP39 สำหรับข้อมูลรับรองการตรวจสอบสิทธิ์ได้หรือไม่

ความคิดของฉันคือสร้าง SHA256 จากข้อความรหัสผ่าน BIP39 และแยกเป็นสองสตริง

ดูเหมือนว่าจะเป็นข้อผิดพลาดร้ายแรงสองประการจากมุมมองการออกแบบความปลอดภัย

  • นั่นคือการใช้ฟังก์ชันแฮชที่รวดเร็ว เช่น SHA-256 เพื่อประมวลผลบางสิ่งที่มุ่งเป้าไปที่การจดจำ แต่ต้องใช้แฮชรหัสผ่านที่ช้าสำหรับ การยืดคีย์. ฟังก์ชันเหล่านี้เรียกว่าฟังก์ชันการสืบทอดคีย์ที่ใช้รหัสผ่าน ถ้าเป็นไปได้ก็ต้องมี หน่วยความจำยาก. ตัวเลือกที่แนะนำ ได้แก่ Argon2 หรือ scrypt ในขณะที่ บีไอพี-39ตัวเลือก PBKDF2-HMAC-SHA512 ที่มี 512 รอบของ PBKDF2-HMAC นั้นแย่ (เนื่องจาก HMAC ไม่ใช่ฮาร์ดหน่วยความจำและเหมาะสำหรับการเพิ่มความเร็วอย่างมากด้วย ASICs, FPGA หรือ GPU) SHA-256 เร็วกว่าประมาณ 1,000 เท่า ดังนั้นจึงง่ายต่อการโจมตีสำหรับ แครกเกอร์รหัสผ่าน.
  • นั่นคือการแบ่งข้อมูล/เอนโทรปีของความลับออกเป็นสองความลับที่สั้นกว่าซึ่งเป็นอิสระต่อกัน ซึ่งสามารถถูกโจมตีแยกกันได้ การเปรียบเทียบ: เปลี่ยนรหัส 6 หลักเพื่อเข้าสู่อาคารเป็นรหัส 3 หลัก 2 รหัส หนึ่งรหัสสำหรับแต่ละประตูที่ติดกันสองบาน เมื่อบางสิ่งที่เป็นความลับและน่าจดจำต้องถูกนำไปใช้หลายครั้ง ทั้งหมด ความลับต้องป้อนฟังก์ชันการสืบทอดคีย์ที่ใช้รหัสผ่าน ร่วมกับค่าคงที่บางอย่างที่เชื่อมโยงกับการใช้งานที่ตั้งใจไว้ และถ้าเป็นไปได้ทั้งหมด เกลือ.

หมายเหตุ: อาจมีข้อผิดพลาดอื่นๆ ในการออกแบบ และบางทีปัญหาที่ชัดเจนสองประการข้างต้นอาจบรรเทาลงได้ด้วยบางสิ่ง เราไม่สามารถบอกได้ เนื่องจากเป้าหมายการรักษาความปลอดภัย สมมติฐาน และการออกแบบรายละเอียดไม่ได้ระบุไว้

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

โพสต์คำตอบ

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