Score:1

รหัสจำลองการเข้ารหัสไฟล์แบบผสมอสมมาตร/สมมาตรของฉันผ่านการตรวจสอบสุขภาพจิตหรือไม่

ธง sk

ฉันรู้ว่าสิ่งนี้ขึ้นอยู่กับการใช้งานของฉันและการใช้งานไลบรารีที่ฉันใช้ ฉันถามเกี่ยวกับกระบวนการของฉันโดยสมมติว่าไลบรารีการเข้ารหัสและรหัสของฉันไม่มีข้อบกพร่อง/ถูกบุกรุก รหัสผ่านของผู้ใช้มีความปลอดภัย และเครื่องไม่ได้ถูกบุกรุก

เป้าหมายที่นี่คือการปกป้องความลับของไฟล์ด้วยรหัสผ่าน และสามารถเข้ารหัสได้โดยไม่ต้องป้อนรหัสผ่าน

ตั้งค่าเริ่มต้น:
- สร้างคู่กุญแจ RSA
- แจ้งให้ผู้ใช้ป้อนรหัสผ่านและถือว่าผู้ใช้ใช้รหัสผ่านที่ปลอดภัยเพียงพอ
- เข้ารหัสคีย์ส่วนตัวในรูปแบบ DER, pkcs=8, scheme = scryptAndAES256-CBC ด้วยรหัสผ่านผู้ใช้

สำหรับแต่ละไฟล์:
- สร้างคีย์เซสชันแบบสุ่มขนาด 32 ไบต์
- เข้ารหัสเซสชันคีย์ด้วยรหัสสาธารณะเริ่มต้น
- สร้าง nonce แบบสุ่ม 12 ไบต์
- เขียนไปยังไฟล์ที่ส่งออก:
  - คีย์เซสชันที่เข้ารหัส
  - ไม่มี
  - สตรีมไฟล์ที่เข้ารหัสด้วย AES GCM โดยใช้คีย์เซสชันแบบสุ่ม 32B และ 12B nonce

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

สิ่งอื่นที่ควรทราบคือฉันเลือก GCM เนื่องจากความเร็วมากกว่า CBC เป็นต้น ฉันยังทราบถึงปัญหาการชนกันของการใช้ nonce แบบสุ่ม แต่ฉันเข้าใจว่านี่จะเป็นปัญหามากกว่าหากฉันมีไฟล์หลายพันล้านไฟล์โดยใช้คีย์เซสชันเดียวกัน และด้วยคีย์สุ่ม 32 ไบต์โดยทั่วไปฉันมีพื้นที่ 44 ไบต์เพื่อหลีกเลี่ยงการชนกัน เป็นที่พึงปรารถนาสำหรับฉันที่จะไม่ต้องติดตาม nonce

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

DannyNiu avatar
vu flag
แผนนี้เป็นเรื่องปกติและฉันไม่เห็นข้อบกพร่องที่ชัดเจนจนถึงตอนนี้ แต่ถ้าเป็นฉัน ฉันจะไม่ปล่อยให้งานพิสูจน์ความปลอดภัยมาขโมยเวลานอนและผมของฉัน - ฉันจะใช้ผลิตภัณฑ์เข้ารหัสไฟล์ที่มีอยู่แล้ว เช่น 7-zip (หรือ RAR ถ้าคุณสามารถเผื่อเงินไว้ได้บ้าง) แม้ว่าพวกเขาจะไม่ทำก็ตาม 'ไม่มีการเข้ารหัสคีย์สาธารณะ
DannyNiu avatar
vu flag
PGP และ GnuGPG นั้นดีเช่นกัน พวกเขามีอนุพันธ์ของ GUI ฉันเชื่อ
fgrieu avatar
ng flag
"เข้ารหัสเซสชันคีย์ด้วยคีย์สาธารณะเริ่มต้น" และ "ถอดรหัสคีย์ส่วนตัวเริ่มต้น" นั้นต่ำกว่าที่ระบุอย่างมาก อาจเกิดข้อผิดพลาดได้มากมาย เช่น การใช้ $x\mapsto x^e\bmod n$ สำหรับการเข้ารหัสคีย์เซสชัน หรือใช้ [RSAES-PKCS1-v1_5](https://pkcs1.grieu.fr/#page =23). ในระดับที่น้อยกว่า "สร้างคู่คีย์ RSA" และการกำหนดพารามิเตอร์ของการเข้ารหัสยังถูกระบุต่ำกว่าที่กำหนดแม้ว่าเราจะพิจารณาเฉพาะความปลอดภัยก็ตาม
Maarten Bodewes avatar
in flag
นอกจากนี้ โปรดระวังว่าการทำซ้ำชุดค่าผสมของคีย์ที่รู้จัก + IV สำหรับข้อมูลที่มีโครงสร้าง เช่น คีย์ RSA นั้นเป็นวิธีที่อันตราย และอาจทำให้ข้อมูลเกี่ยวกับคีย์ที่ถูกรวมไว้รั่วได้ (**ป.ล. สวัสดีผู้ขาย HSM คุณกำลังฟังอยู่หรือเปล่า**)

โพสต์คำตอบ

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