Score:0

จะป้องกันรหัสลับที่ไม่สามารถแตกไฟล์ใน indexedDB ได้อย่างไร

ธง cn

ฉันได้เข้ารหัสข้อมูลใน AES-GCM กับ การเข้ารหัสลับ เอพีไอ เดอะ เวกเตอร์เริ่มต้น จากนั้นจะถูกเพิ่มลงในข้อมูล สร้างสตริงเข้ารหัสเฉพาะที่จัดเก็บไว้ในที่จัดเก็บภายในเครื่อง ในที่สุดรหัสลับจะถูกเก็บไว้ใน IndexedDB

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

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

แล้วฉันจะปรับปรุงเวิร์กโฟลว์นี้ได้อย่างไร มันไม่ปลอดภัยจริงเหรอ? เป็นไปได้ไหมที่จะเข้ารหัสและถอดรหัสรหัสลับด้วยรหัสผ่านเฉพาะที่ผู้ใช้ให้มา รหัสผ่านจะอยู่ใน .env ไฟล์และไม่เคยเปิดเผยต่อผู้โจมตี คุณจะทำอย่างไร?

นี่คือวิธีสร้างรหัสลับจนถึงตอนนี้:

crypto.subtle.generateKey(
      { ชื่อ: "AES-GCM", ความยาว: 256 },
      เท็จ,
      ["เข้ารหัส", "ถอดรหัส"]
    );

ขอบคุณสำหรับความช่วยเหลือของคุณ!

โพสต์คำตอบ

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