Với nhân Linux 6.4, có khả năng được giới thiệu để khóa máy có thể tùy chọn chỉ lưu trữ các khóa do CA thực thi.
Eric Snowberg của Oracle đã nghiên cứu các hạn chế về khóa thực thi CA để có thể thực thi khóa máy của Tổ chức phát hành chứng chỉ (CA). Snowberg đã giải thích trong loạt bản vá:
“Trước khi giới thiệu khóa máy, hầu hết các bản phân phối chỉ cho phép tất cả các khóa có trong khóa nền tảng được sử dụng để xác minh cả nhân và mô-đun. Điều này được thực hiện bởi một bản vá ngoài cây. Một số bản phân phối thậm chí còn sử dụng nó thêm và tải tất cả các khóa này vào chuỗi khóa đáng tin cậy thứ cấp. Điều này cũng cho phép chủ sở hữu hệ thống thêm khóa riêng của họ để sử dụng IMA.
Mỗi bản phân phối chứa tài liệu tương tự về cách ký các mô-đun hạt nhân và đăng ký khóa vào MOK. quá trình này khá đơn giản. Với sự ra đời của machine keyring, quy trình về cơ bản vẫn giống như vậy, mà không cần bất kỳ bản vá nào ngoài cây.
Chìa khóa máy cho phép các bản phân phối loại bỏ các bản vá ngoài cây cho ký mô-đun hạt nhân. Tuy nhiên, nó không cho phép người dùng cuối thêm khóa riêng của họ cho IMA. Hiện tại, khóa máy không thể được sử dụng làm điểm neo tin cậy khác để thêm khóa vào khóa ima, do việc thực thi CA hiện không tồn tại. Điều này sẽ mở rộng khoảng cách toàn vẹn hiện tại. IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY Kconfig cho biết rằng các khóa có thể được thêm vào chuỗi khóa ima nếu khóa được ký hợp lệ bởi chứng chỉ CA trong chuỗi khóa thứ cấp hoặc tích hợp sẵn trong hệ thống. Hiện tại, không có mã thực thi nội dung của chứng chỉ CA.
Loạt bài này giới thiệu cách thực thi CA với chìa khóa máy. Nó giới thiệu ba cách khác nhau để cấu hình khóa máy. Các tùy chọn Kconfig mới được thêm vào để kiểm soát các loại khóa có thể được thêm vào nó. Tùy chọn mặc định cho phép tất cả các khóa MOK vào khóa máy. Khi CONFIG_INTEGRITY_CA_MACHINE_KEYRING được chọn, bit X.509 CA phải đúng và việc sử dụng khóa phải chứa keyCertSign; bất kỳ trường sử dụng nào khác cũng có thể được đặt. Khi
CONFIG_INTEGRITY_CA_MACHINE_KEYRING_MAX cũng được chọn, bit X.509 CA phải đúng và việc sử dụng khóa phải chứa keyCertSign. Với tùy chọn này, việc sử dụng chữ ký số có thể không được đặt. Nếu một khóa không vượt qua kiểm tra hạn chế CA, thì thay vì đi vào quy trình khóa máy, khóa đó sẽ được thêm vào quy trình khóa nền tảng. Với khả năng định cấu hình
khóa máy với các giới hạn CA, mã ngăn không cho bật khóa máy với IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY đã bị xóa.”
Một lần nữa, như đã nêu, điều này hoàn toàn đúng chọn tham gia với hành vi mặc định cho phép tất cả các khóa MOK vào quy trình tạo khóa của máy.
The TPMDD yêu cầu kéo đã được gửi hôm nay cho nhân Linux 6.4 và bao gồm chức năng mới này.
“Khóa.machine, được sử dụng cho Khóa của chủ sở hữu máy (MOK), có được khả năng chỉ lưu trữ CA được thực thi các khóa và đặt phần còn lại vào khóa.platform, do đó tách các khóa ký mã khỏi các khóa được sử dụng để ký chứng chỉ. Điều này về cơ bản mở khóa việc sử dụng khóa.machine làm mỏ neo tin cậy cho IMA. Đó là một tính năng chọn tham gia, có nghĩa là các ràng buộc bổ sung sẽ không ảnh hưởng đến bất kỳ ai không quan tâm đến chúng.”
Các cải tiến của Linux xung quanh việc xử lý Kiến trúc Đo lường Tính toàn vẹn (IMA) vẫn là một lĩnh vực được quan tâm lớn cho các bên liên quan của công ty.