Ngoài đang bận rộn dẫn dắt WireGuard, Jason Donenfeld tiếp tục làm việc tích cực trên mã trình tạo số ngẫu nhiên (RNG) của nhân Linux. Đối với Linux 6.0, một số cải tiến RNG đã sẵn sàng.

Đối với phiên bản tiếp theo của hạt nhân Linux này, kiểm tra thời gian khởi động x86 RdRand đã được thực hiện mạnh mẽ hơn để xác định xem có nên tắt việc sử dụng tiện ích mở rộng này hay không nếu nó xuất hiện bị lỗi. các tùy chọn”nordrand”và”CONFIG_ARCH_RANDOM”đã bị loại bỏ để thay thế cho các tùy chọn”random.trust_cpu”và”CONFIG_RANDOM_TRUST_CPU”và các cải tiến RNG khác.

Donenfeld thú vị nhất với những thay đổi của Linux 6.0 RNG là cơ chế để bộ nạp khởi động, bộ siêu giám sát và Kexec chuyển một hạt ngẫu nhiên đến hạt nhân để khởi tạo bộ tạo số ngẫu nhiên. Anh ấy giải thích trong pull request:

trên x86 và m68k, giờ đây có một cơ chế để bootloader, hypervisor và kexec chuyển một seed ngẫu nhiên đến kernel để khởi tạo RNG. Các cơ chế dành riêng cho nền tảng này không thực sự xuất hiện trong lần kéo này, mà sẽ đến thông qua cây x86 và cây m68k, nhưng dù sao thì chúng cũng đáng được nhắc đến.

Các kiến ​​trúc dựa trên cây thiết bị đã có khả năng này kể từ năm 2019, thông qua tham số”rng-seed”ít được sử dụng trong FDT và EFI cũng có điều tương tự kể từ năm 2016, nhưng các nền tảng không có FDT và EFI đều bị loại bỏ.

Những thay đổi này tương ứng với công việc liên quan trong QEMU, dự kiến ​​phát hành trong 7.1, cũng như trong kexec-tools, bổ sung hỗ trợ cho các cơ chế hạt giống RNG của bộ nạp khởi động này, cả những cơ chế mới cho x86 và m68k, như cũng như cuối cùng sử dụng thông số FDT”rng-seed”trên các nền tảng áp dụng còn thiếu.

Tổng hợp lại, những điều này đại diện cho một bước nhỏ hướng tới việc loại bỏ vấn đề entropy thời gian khởi động, ít nhất là từ quan điểm của hạt nhân, bằng cách cung cấp một phương tiện chuyển trách nhiệm lên chuỗi một cấp. Hypervisors và kexec rõ ràng là ở một vị trí tuyệt vời để cung cấp điều này, đó là lý do tại sao tôi đã thêm nó vào đó đầu tiên. Tuy nhiên, điều này cũng mở ra cơ hội cho các bộ nạp khởi động quản lý an toàn các tệp hạt giống, giống như đã được thực hiện trên BSD và nhiều hệ điều hành khác trong một thời gian dài. Và một số chương trình cơ sở arm64 đã cung cấp điều này thông qua tham số FDT”rng-seed”.

Thêm chi tiết về các thay đổi RNG cho chu kỳ nhân Linux 6.0 qua yêu cầu kéo này .

Categories: IT Info