ด้วยเคอร์เนล Linux 6.4 มีความสามารถที่ได้รับการแนะนำเพื่อให้พวงกุญแจเครื่องสามารถเลือกเก็บเฉพาะคีย์ที่บังคับใช้ CA

Eric Snowberg จาก Oracle กำลังทำงานเกี่ยวกับการจำกัดการบังคับใช้คีย์ริงของ CA เพื่อให้สามารถบังคับใช้ใบรับรอง (CA) ของคีย์ริงของเครื่องได้ Snowberg อธิบายไว้ใน ชุดโปรแกรมแก้ไข:

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

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

พวงกุญแจแมชชีนอนุญาตให้ distros กำจัดแพตช์นอกทรีสำหรับ การเซ็นชื่อโมดูลเคอร์เนล อย่างไรก็ตาม การอนุญาตให้ผู้ใช้เพิ่มคีย์ของตนเองสำหรับ IMA นั้นสั้นเกินไป ในขณะนี้ พวงกุญแจเครื่องจักรไม่สามารถใช้เป็น trust anchor อื่นสำหรับการเพิ่มคีย์ให้กับพวงกุญแจ ima เนื่องจากไม่มีการบังคับใช้ CA ในขณะนี้ สิ่งนี้จะขยายช่องว่างความสมบูรณ์ในปัจจุบัน IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY Kconfig ระบุว่าคีย์อาจถูกเพิ่มไปยังพวงกุญแจ ima หากคีย์นั้นได้รับการลงนามอย่างถูกต้องโดยใบรับรอง CA ในพวงกุญแจที่เชื่อถือได้ในตัวหรือรอง ขณะนี้ไม่มีรหัสที่บังคับใช้เนื้อหาของใบรับรอง CA

ชุดนี้แนะนำวิธีการบังคับใช้ CA ด้วยพวงกุญแจเครื่อง แนะนำสามวิธีที่แตกต่างกันในการกำหนดค่าพวงกุญแจเครื่อง เพิ่มตัวเลือก Kconfig ใหม่เพื่อควบคุมประเภทของคีย์ที่อาจเพิ่มเข้าไป ตัวเลือกเริ่มต้นจะอนุญาตให้ใช้ปุ่ม MOK ทั้งหมดในพวงกุญแจของเครื่อง เมื่อเลือก CONFIG_INTEGRITY_CA_MACHINE_KEYRING บิต X.509 CA จะต้องเป็นจริงและการใช้คีย์ต้องมี keyCertSign ฟิลด์การใช้งานอื่น ๆ ยังสามารถตั้งค่าได้ เมื่อเลือก
CONFIG_INTEGRITY_CA_MACHINE_KEYRING_MAX บิต X.509 CA จะต้องเป็นจริงและการใช้คีย์ต้องมี keyCertSign ด้วยตัวเลือกนี้ การใช้งาน digitalSignature อาจไม่ถูกตั้งค่า หากคีย์ไม่ผ่านการตรวจสอบข้อจำกัดของ CA แทนที่จะเข้าไปในคีย์ริงของเครื่อง คีย์นั้นจะถูกเพิ่มไปยังคีย์ริงของแพลตฟอร์ม ด้วยความสามารถในการกำหนดค่า
พวงกุญแจเครื่องจักรด้วยข้อจำกัดของ CA โค้ดที่ป้องกันไม่ให้เปิดใช้งานพวงกุญแจเครื่องจักรด้วย IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY จึงถูกลบ”

ตามที่ระบุไว้ นี่เป็นอย่างเคร่งครัด เลือกรับด้วยลักษณะการทำงานเริ่มต้นที่อนุญาตให้ใช้คีย์ MOK ทั้งหมดลงในพวงกุญแจของเครื่อง
The TPMDD คำขอดึงข้อมูลถูกส่งออกไปในวันนี้สำหรับเคอร์เนล Linux 6.4 และมีฟังก์ชันใหม่นี้

“พวงกุญแจ.machine ที่ใช้สำหรับ Machine Owner Keys (MOK) ได้รับความสามารถในการจัดเก็บเฉพาะที่บังคับใช้ CA คีย์และวางไว้ในพวงกุญแจ.platform ดังนั้นจึงแยกคีย์การเซ็นชื่อรหัสออกจากคีย์ที่ใช้เพื่อเซ็นใบรับรอง สิ่งนี้จะปลดล็อกการใช้พวงกุญแจ.machine เป็นหลักในการยึดทรัสต์สำหรับ IMA เป็นคุณลักษณะแบบเลือกรับ หมายความว่าข้อจำกัดเพิ่มเติมจะไม่รบกวนผู้ที่ไม่สนใจข้อจำกัดเหล่านี้”

การปรับปรุง Linux รอบการจัดการ Integrity Measurement Architecture (IMA) ยังคงเป็นประเด็นใหญ่ที่น่าสนใจ สำหรับผู้มีส่วนได้ส่วนเสียขององค์กร

Categories: IT Info