กรณีการใช้งานของฉัน:
ฉันมีมาสเตอร์คีย์ไม่กี่คีย์ ฉันใช้คีย์หลักแต่ละคีย์สำหรับการดำเนินการเฉพาะ (เช่น คีย์หนึ่งสำหรับเข้ารหัสข้อมูลของผู้ใช้ และอีกคีย์หนึ่งสำหรับสร้างลายเซ็น JWT เป็นต้น...)
ฉันใช้มาสเตอร์คีย์เหล่านี้ในสองสิ่งที่เฉพาะเจาะจง:
- ใน PBKDF2 เป็นอินพุต + เกลือเพื่อรับคีย์สมมาตรและ nonces (iv) จากนั้นเก็บเกลือด้วยไซเฟอร์เท็กซ์ในฐานข้อมูลเท่านั้น
- ใน HMAC เป็นรหัสลับ (พริกไทย)
ฉันต้องหมุนมาสเตอร์คีย์เหล่านี้เมื่อมันเก่า
คำถามเพื่อชี้แจงสิ่งที่ฉันจำเป็นต้องรู้:
- มาสเตอร์คีย์เหล่านี้จะเก่าหรือต้องหมุนเมื่อใด
- จะหมุนคีย์เหล่านี้ได้อย่างไรและยังสามารถดึงคีย์เก่ากลับมาจากคีย์ใหม่เพื่อถอดรหัสข้อมูลที่เข้ารหัสหรือตรวจสอบแฮชที่สร้างโดยคีย์เก่าเหล่านี้ได้อย่างไร ฉันคิดว่าฉันควรทำ bit-XOR กับคีย์เก่าด้วยคีย์ใหม่ที่สอดคล้องกัน
- ขณะนี้ฉันไม่มีสิทธิ์ใช้ HSM (Hardware Security Modules) หรือวงล้อมที่ปลอดภัย การจัดเก็บมาสเตอร์คีย์เหล่านี้ในไฟล์ข้างๆ API ของแอปปลอดภัยเพียงพอหรือไม่ ฉันควรคำนึงถึงอะไรบ้าง ?
- ฉันสบายดีกับ PBKDF2 หรือฉันควรใช้ HKDF ดีกว่า หากใช่ ฉันควรทำคำแนะนำอะไรอีกบ้างเมื่อใช้ HKDF
- คำแนะนำความยาวเท่าใดสำหรับมาสเตอร์คีย์ในกรณีการใช้งานดังกล่าว
- มีกระแสปัญหาหรือการปรับปรุงในสิ่งทั้งหมดหรือไม่?