Tính năng Cung cấp khoá từ xa (RKP) đã có trong AOSP kể từ Android 12. Android 14 giới thiệu một mô-đun có thể cập nhật tính năng cung cấp từ xa, giúp tăng khả năng phục hồi tính năng bằng cách cải thiện độ mạnh mẽ của API dịch vụ và giảm thời gian để giới thiệu mọi điểm cải tiến cho mô-đun này.
Động lực
Đơn giản hoá dịch vụ RKP bằng cách đóng gói mọi thứ vào một APEX.
Trước Android 14, RKP được tách thành một ứng dụng, RemoteProvisioner
và Kho khoá 2.0. Ứng dụng RemoteProvisioner
chịu trách nhiệm liên hệ với phần phụ trợ RKP, còn Keystore 2.0 chịu trách nhiệm lưu trữ các khoá và giao tiếp với HAL. Đây không phải là một cấu trúc tốt vì các khoá RKP khác biệt đáng kể so với các khoá Keystore về mặt siêu dữ liệu được đính kèm. Ngoài ra, việc này còn yêu cầu sửa đổi mã khung Keystore một cách khó khăn để cảnh báo RemoteProvisioner
về tình trạng thiếu tài nguyên tiềm ẩn.
RKP dưới dạng một mô-đun Mainline được thiết kế để cải thiện những điểm này bằng cách đóng gói mọi thứ một cách gọn gàng vào một APEX.
Ranh giới mô-đun
RKP Mainline APEX, com.android.rkpd
, chứa ứng dụng Remote Key Provisioning Daemon (RKPD) và một thành phần máy chủ hệ thống cung cấp từ xa (được tạo bằng Java).
Cấu trúc ngăn xếp
Hình 1 minh hoạ cấu trúc ngăn xếp RKP.
Hình 1. Cấu trúc ngăn xếp RKP.
Kiến trúc nội bộ
Hình 2 minh hoạ cấu trúc nội bộ của RKP.
Hình 2. Cấu trúc nội bộ của RKP.
Thông tin bổ sung về cấu trúc nội bộ của RKP:
RKPD Mainline APEX –
com.android.rkpd
- Ứng dụng RKPD (Java)
packages/modules/RemoteKeyProvisioning/app
- Phân đoạn máy chủ hệ thống RKPD (Java)
packages/modules/RemoteKeyProvisioning/system-server
- Ứng dụng RKPD (Java)
Giao diện/quá trình triển khai HAL (Rust/C++)
IRemotelyProvisionedComponent
hardware/interfaces/security/keymint
Định dạng gói
Ứng dụng và các chức năng khác của mô-đun được đóng gói dưới dạng tệp APEX com.android.rkpd
.
Phần phụ thuộc
Mô-đun RKP tiếp tục phụ thuộc vào sự tồn tại của các phương thức triển khai IRemotelyProvisionedComponent
để cung cấp các khoá chứng thực và yêu cầu chứng chỉ.
Chiến lược kiểm thử
Phiên bản AOSP của APEX ứng dụng chứa các kiểm thử đơn vị mà OEM có thể chạy.