Score:0

วิธีบันทึกคีย์ส่วนตัว ED25519 บนฮาร์ดไดรฟ์อย่างปลอดภัย

ธง cn

ฉันกำลังพัฒนาแอปพลิเคชันที่เก็บรหัสส่วนตัวของผู้ใช้ (ed 25519) ในฮาร์ดไดรฟ์ของผู้ใช้โดยไม่มีการรักษาความปลอดภัยใดๆ

แนวทางปฏิบัติ/มาตรฐานที่ดีที่สุดในการบันทึกคีย์ส่วนตัวในฮาร์ดไดรฟ์คืออะไร ดังนั้นแม้ว่าระบบไฟล์จะถูกแฮ็ก คีย์ก็ยังปลอดภัย

Eirtaza avatar
cn flag
ใช่ ฉันก็กำลังพิจารณาอยู่เหมือนกัน KDF แฮชที่ฉันทิ้งไปแล้ว (แม้ว่าจะสามารถใช้เป็น KDF ได้) เช่นเดียวกับ PBKDF2 คุณแนะนำอัลกอริทึมใดซึ่งเป็น Argon2 หรือ scrypt ที่ไม่มีปัญหาและปลอดภัยที่สุด Argon2 เป็นมาตรฐาน NIST หรืออะไร
Score:1
ธง ng

แนวปฏิบัติที่ดีประการหนึ่งเกี่ยวข้องกับการจัดเก็บคีย์ที่เข้ารหัสภายใต้รหัสที่รับรองความถูกต้องแบบสมมาตร เช่น AES-256-GCM โดยมีคีย์ที่ได้มาจากการใช้ Argon2 หรือ scrypt จากข้อความรหัสผ่านที่ผู้ใช้ป้อนและเกลือแบบสุ่มที่เก็บไว้ตามรหัสลับ PBKDF2 เคยเป็นแบบทั่วไปแทนที่จะเป็น Argon2 หรือ scrypt แต่ไม่ถือว่าเป็นแนวทางปฏิบัติที่ดีที่สุดอีกต่อไป

อาร์กอน2 คือความทันสมัยของศิลปะ เข้ารหัส อาจยังคงมีอยู่ทั่วไป ไม่มีวิธีปฏิบัติที่ดีที่สุดที่แน่นอนที่สุด โดยเฉพาะอย่างยิ่ง บางคนชอบบางอย่างที่เป็นมาตรฐานมากกว่าบางอย่างที่ปลอดภัยสูงสุด บางคนใส่พริกไทยทับเกลือ อัปเดต: การรับรองความถูกต้องด้วยสองปัจจัยเพิ่มมากขึ้นเรื่อย ๆ กลายเป็นแนวปฏิบัติที่ดีที่สุด

หากคุณกำหนดวลีรหัสผ่าน/อิงตามรหัสผ่าน ฉันขอแนะนำ Argon2id ด้วยพารามิเตอร์ที่พิจารณาอย่างรอบคอบ: บางอย่างที่ใช้งานได้อย่างสะดวกสบายบนแพลตฟอร์มเป้าหมายทั้งหมด แต่ยังมีอุปสรรคร้ายแรงในการค้นหารหัสผ่านแบบบังคับ


Argon2 เป็นมาตรฐาน NIST หรืออะไร

Argon2 เป็นผู้ชนะของ การแข่งขันแฮชรหัสผ่าน. ที่ไม่ได้จัดโดย NIST Argon2 ไม่ได้รับการอนุมัติจาก NIST แต่อ้างอิงโดย NIST ที่นี่ (ตาม บอลลูนที่ฉันชอบด้วย; แต่ดูเหมือนว่าจะสูญเสียโมเมนตัมไปหลังจากตระหนักว่าข้อได้เปรียบเหนือ Argon2 ยังไม่ชัดเจน):

  • Q-B17: Â SP 800-63B มาตรา 5.1.1.2, ผู้ตรวจสอบความลับที่จดจำได้บอกว่าควรใช้การสืบทอดรหัสผ่านหน่วยความจำฮาร์ด PBKDF2 ซึ่งใช้กันอย่างแพร่หลายไม่ใช่ฮาร์ดหน่วยความจำ ตัวอย่างของฟังก์ชันฮาร์ดหน่วยความจำที่ตรงตามข้อกำหนดนี้มีอะไรบ้าง
  • A-B17: Â ข้อความแนะนำ แต่ไม่จำเป็น ให้ใช้ฟังก์ชันเมมโมรี่ฮาร์ดสำหรับการรับรหัสผ่าน
    Â Â NIST ถือว่าความปลอดภัยของฟังก์ชันแฮช (ทางเดียว) ที่ใช้ในการรับคีย์มีความสำคัญเป็นอันดับแรก ดังนั้นจึงต้องใช้ฟังก์ชันทางเดียวที่ได้รับอนุมัติ (ตรวจสอบอย่างละเอียด) ในการหาค่าคีย์ BALLOON เป็นอัลกอริธึมที่ใช้หน่วยความจำและไทม์ฮาร์ดซึ่งอนุญาตให้ใช้ฟังก์ชันทางเดียวพื้นฐานที่ได้รับอนุมัติ แต่น่าเสียดายที่ยังไม่ได้รับการปรับใช้อย่างกว้างขวางอัลกอริธึมอื่นๆ เช่น ARGON2 เป็นหน่วยความจำและไทม์ฮาร์ด แต่ไม่ได้ใช้ฟังก์ชันทางเดียวพื้นฐานที่ได้รับการวิเคราะห์อย่างละเอียด
    Â Â แม้ว่า PBKDF2 จะทำงานแบบ time-hard แต่ไม่ใช่ memory-hard แต่ก็มีการใช้งานอย่างกว้างขวางจนไม่สามารถใช้งานได้จริง (ในขณะนี้) เพื่อแนะนำข้อกำหนดสำหรับฟังก์ชันการสืบทอดคีย์แบบ memory-hard key ดังนั้นเราจึงนำเสนอสิ่งนี้เป็น คำแนะนำ (เช่น âSOULDâ)
    Â Â ฟังก์ชันการหาค่าคีย์ถือว่ามีความสำคัญน้อยกว่าฟังก์ชันแบบทางเดียวที่อยู่ภายใต้ฟังก์ชันนี้ ดังนั้นข้อกำหนดเฉพาะจึงน้อยกว่าในส่วนนี้ และไม่ได้ระบุอัลกอริทึมเฉพาะสำหรับการรับค่าคีย์

ดังนั้น NIST จึงไม่ปฏิเสธอดีตเจ้าหน้าที่ คำแนะนำ ของ PBKDF2-HMAC-SHA-1 แม้ว่าจะมีการป้องกันเพียงเล็กน้อยในยุคที่ผู้โจมตีที่มีทุนสนับสนุนสามารถใช้ ASIC หรืออย่างน้อย FPGA หรือ GPU ในการค้นหารหัสผ่าน ไม่ชัดเจนว่าตำแหน่งที่ไม่สามารถป้องกันได้ในทางเทคนิคนี้เป็นอันตราย ซึ่งตรงกันข้ามกับจุดยืนเดิมของ NIST เกี่ยวกับ Dual_EC_DRBGซึ่งมีจุดประสงค์อย่างชัดเจนเพื่อส่งเสริม crypto หน่วยข่าวกรองสหรัฐอาจทำลายได้

โพสต์คำตอบ

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