Score:0

รูปแบบการจัดการคีย์ผู้ใช้: BYOK เทียบกับคีย์ไคลเอ็นต์เท่านั้น เทียบกับทั้งสองอย่างผสมกัน

ธง us

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

รูปแบบพื้นฐานสำหรับ Zero Trust จะมีลักษณะดังนี้:

  1. หากผู้ใช้ลงชื่อสมัครใช้ (ผ่าน OAuth2) เบราว์เซอร์จะสร้างข้อความรหัสผ่านแบบสุ่ม 32 ฐาน-62 อักขระ
  2. วลีรหัสผ่านนั้นใช้เพื่อรับรหัสสาธารณะ / ส่วนตัวโดยใช้ PBKDF2
  3. รหัสสาธารณะจะถูกส่งไปยังเซิร์ฟเวอร์ ผู้ใช้จะได้รับข้อความรหัสผ่านแบบสุ่มที่สร้างขึ้นภายใต้ข้อ 1 เพื่อให้พวกเขาสามารถจดบันทึกได้
  4. เราสร้างรหัสแบบสุ่มสำหรับแต่ละเอกสาร เข้ารหัสด้วยรหัสสาธารณะของผู้เข้าร่วมทั้งหมด และจัดเก็บพร้อมกับเอกสาร

คีย์ส่วนตัวและวลีรหัสผ่านแบบสุ่มเริ่มต้น (1.) ไม่เคยออกจากไคลเอนต์ ดังนั้นจึงไม่มีทางที่ข้อมูลจะถูกถอดรหัสฝั่งเซิร์ฟเวอร์

แต่: ไม่สะดวกสำหรับผู้ใช้ปลายทาง หากพวกเขาทำกุญแจหาย (และแน่นอนที่สุดพวกเขาจะทำ) พวกเขาจะไม่สามารถเข้าถึงเอกสารใดๆ ของพวกเขาได้ หากพวกเขาเข้าสู่ระบบบนอุปกรณ์อื่น พวกเขาจะต้องป้อนข้อความรหัสผ่าน เรากำลังติดต่อกับกลุ่มผู้ใช้ที่หลากหลายมากและส่วนใหญ่ไม่ "เชี่ยวชาญด้านเทคโนโลยี" เลย และพวกเขาไม่ควรเป็นเช่นนั้น

มีวิธีแก้ปัญหา BYOK เช่นเดียวกับที่ใช้โดย Google Workspace CSE. แต่ AFAICS ผู้ใช้จะต้องตรวจสอบสิทธิ์กับบริการอื่นเพื่อใช้บริการของเรา ซึ่งไม่สะดวกเช่นกันและอาจอธิบายไม่ได้สำหรับผู้ใช้ของเรา

เนื่องจากเราควบคุมการรับรองความถูกต้อง - จัดทำโดย Auth0 - มีวิธีใดบ้างที่เราสามารถจัดเก็บรหัสส่วนตัวของผู้ใช้ได้ทุกที่ (แม้แต่บุคคลที่สาม) โดยที่ผู้ใช้ไม่ต้องตรวจสอบสิทธิ์ซ้ำสองครั้ง

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

สิ่งนี้สมเหตุสมผลหรือไม่? มีคำแนะนำสำหรับการอ่านเพิ่มเติมหรือไม่? โปรดขออภัยหากฉันไม่สามารถกระชับหรือชัดเจนเพียงพอ

โพสต์คำตอบ

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