สมมติว่าเราต้องการเพิ่มอายุการใช้งานของมาสเตอร์คีย์เราสามารถทำได้โดยเพิ่มขั้นตอนการรับคีย์ก่อนการเข้ารหัสจริงหรือไม่ สมมติว่าเราใช้มาสเตอร์คีย์เป็นข้อมูลป้อนเข้าและสุ่ม nonce ใน HKDF เราสามารถยืดอายุการใช้งานของมาสเตอร์คีย์ได้หรือไม่
ใช่ แน่นอนเมื่อพูดถึงข้อกำหนดของ GCM อยู่แล้ว แน่นอนว่าอาจมีข้อควรพิจารณาอื่น ๆ เนื่องจากคีย์หลักเดียวกันยังคงป้องกันข้อความจำนวนมาก
กล่าวอีกนัยหนึ่งคือ AES-GCM(HKDF(มาสเตอร์คีย์, ...)
, IV, ...) ให้ข้อได้เปรียบใด ๆ เกี่ยวกับจำนวนข้อความทั้งหมดเมื่อเทียบกับ AES-GCM(มาสเตอร์คีย์, IV, ...)
?
อาจใช่ แน่นอนว่าขึ้นอยู่กับอินพุตอื่นๆ ของ HKDF แต่ตราบใดที่อินพุตไปยัง HKDF ไม่ซ้ำกัน คุณมีฟังก์ชันทางเดียวที่ปลอดภัยที่ทำให้คีย์ที่ได้รับเป็นอิสระจากกัน
โดยเฉพาะอย่างยิ่ง สมมติว่า HKDF มีเกลือคงที่และสุ่ม 128 บิต nonce เป็นอินพุต และ GCM ใช้ IV สุ่ม 96 บิต ดังนั้นฉันคิดว่า (WK, IV) มีความน่าจะเป็นการชนกันต่ำกว่า (IV)
ไม่มี "nonce" ที่กำหนดเป็นพารามิเตอร์อินพุตสำหรับ HKDF แต่คุณสามารถใช้พารามิเตอร์ภายใน ข้อมูล
สนาม.
"เกลือคงที่" มีประโยชน์เพียงเล็กน้อยหรือไม่มีเลย อย่างไรก็ตาม คุณสามารถใช้พารามิเตอร์ค่าเกลือเปล่า และใช้ nonce เป็นส่วนหนึ่งของ ข้อมูล
พารามิเตอร์และมีความปลอดภัยพอสมควร
ด้วยเกลือ คุณไม่ต้องคิดเกี่ยวกับการแยกโดเมน (เช่น การใช้คีย์หลักของคุณสำหรับสิ่งอื่นที่อาจรบกวน) การแยกแหล่งที่มาอิสระ (เช่น การทำซ้ำของ nonce หรือเอนโทรปีที่ไม่ถูกต้องของมาสเตอร์คีย์) - แต่คุณ สามารถทำได้โดยไม่ต้อง
ที่จริงคุณสามารถ ข้ามขั้นตอน ถ้าคุณต้องการและใช้ HKDF-Expand หากคีย์หลักของคุณมีเอนโทรปีเพียงพอ ในกรณีนั้นไม่มี เกลือ
พารามิเตอร์ที่จำเป็น
ฉันอยากจะแนะนำให้มีสตริงค่าคงที่เพิ่มเติมในฟิลด์ข้อมูลที่สามารถใช้เพื่อรับคีย์จากมาสเตอร์สำหรับกรณีการใช้งานเพิ่มเติม ตัวอย่างเช่น, ข้อมูล
ฟิลด์สามารถใช้ป้ายกำกับที่เรียกว่า "เอ็นแคปคีย์"
. สิ่งนี้บ่งชี้ว่ากรณีการใช้งานของคีย์ย่อยที่ได้รับมาคืออะไร - มีการแยกโดเมนบางส่วน
หากสมมติฐานนี้ถูกต้อง เราจะคำนวณขอบเขตสำหรับอายุการใช้งานของมาสเตอร์คีย์ได้อย่างไร
สมมติว่าคุณส่งออกคีย์ 256 บิตและใช้ SHA-256 เป็นแฮชพื้นฐานเป็นอย่างน้อย จากนั้นโอกาสเพิ่มเติมของการชนกันนั้นถือว่าเล็กน้อย ขึ้นอยู่กับคุณสมบัติการชนกันของสิ่งที่ไม่มีให้
ตามที่ระบุไว้ อาจมีเหตุผลอื่นที่คุณต้องการรีเฟรชมาสเตอร์คีย์เป็นระยะๆ เนื่องจากความปลอดภัยของข้อความยังคงขึ้นอยู่กับคีย์เดียวนั้น