Tổng quan về Khung ảo hóa Android (AVF)

Khung ảo hóa Android (AVF) cung cấp môi trường thực thi an toàn và riêng tư để thực thi mã. AVF lý tưởng cho các trường hợp sử dụng thiên về bảo mật yêu cầu đảm bảo cách ly mạnh mẽ hơn, thậm chí được xác minh chính thức so với những đảm bảo do hộp cát ứng dụng của Android cung cấp. Android cung cấp cách triển khai tham chiếu của tất cả các thành phần cần thiết để triển khai AVF. Hiện tại, AVF chỉ được hỗ trợ trên các thiết bị ARM64. Hình 1 cho thấy kiến ​​trúc của AVF:

Kiến trúc AVF

Hình 1. Kiến trúc AVF

Dưới đây là định nghĩa cho các thuật ngữ quan trọng nhất từ ​​hình 1:

đỉnh và zipfuse
Gắn kết APEX và APK được nhập từ máy chủ một cách an toàn.
xác thực
Hệ thống tệp cầu chì để bảo mật chia sẻ nhiều tệp giữa Android và pVM (máy chủ và khách).
chất kết dính
Phương tiện chính của giao tiếp giữa các VM.
chéo
Một màn hình máy ảo được viết bằng rỉ sét. crosvm phân bổ bộ nhớ VM, tạo các luồng CPU ảo và triển khai các phần phụ trợ của thiết bị ảo.
Hình ảnh hạt nhân chung (GKI)
Hình ảnh khởi động được Google chứng nhận có chứa nhân GKI được xây dựng từ cây nguồn Hạt nhân chung của Android (ACK) và phù hợp để được flash vào phân vùng khởi động của thiết bị Android. Để biết thêm thông tin, hãy xem Tổng quan về hạt nhân .
siêu giám sát
Công nghệ ảo hóa được AVF sử dụng, còn được gọi là pKVM . Trình ảo hóa duy trì tính toàn vẹn của mã được thực thi và tính bảo mật của tài sản của pVM, ngay cả khi Android hoặc bất kỳ pVM nào khác bị xâm phạm.
API Java
Các API Java VirtualizationService chỉ có trên các thiết bị có hỗ trợ AVF. Các API này là tùy chọn và không phải là một phần của thebootclasspath .
Microdroid
Hệ điều hành Android mini do Google cung cấp chạy trong pVM.
Trình quản lý Microdroid
Quản lý vòng đời pVM, bên trong pVM và đĩa phiên bản.
API gốc
Một tập hợp con của Bộ công cụ dành cho nhà phát triển bản địa Android (NDK).
máy ảo dựa trên hạt nhân được bảo vệ (pKVM)
Xem Trình giám sát ảo .
Phần mềm pVM ( pvmfw )
Mã đầu tiên chạy trên pVM, pvmfw xác minh tải trọng và lấy ra bí mật trên mỗi VM.
máy ảo được bảo vệ (pVM)

Môi trường thực thi biệt lập ("khách") không được tin cậy lẫn nhau chạy cùng với hệ điều hành Android chính ("máy chủ"). pVM được quản lý bởi pKVM.

So với các môi trường thực thi đáng tin cậy (TEE) hiện có, pVM cung cấp một môi trường phong phú hơn, bao gồm cả bản phân phối Android mini có tên Microdroid . pVM có thể được sử dụng một cách linh hoạt và cung cấp một bộ API tiêu chuẩn có sẵn trên tất cả các thiết bị hỗ trợ chúng.

Dịch vụ ảo hóa

Dịch vụ Android quản lý vòng đời của pVM.

Cái gì tiếp theo?

  • Nếu bạn muốn hiểu rõ hơn về sự cần thiết của AVF, hãy tham khảo Tại sao AVF? .
  • Để đọc về cách sử dụng AVF để biên dịch riêng biệt, hãy tham khảo Các trường hợp sử dụng .
  • Nếu bạn muốn giải thích sâu hơn về kiến ​​trúc triển khai tham chiếu AVF, hãy tham khảo kiến ​​trúc AVF .
  • Nếu bạn muốn tìm hiểu về Microdroid hãy tham khảo Microdroid .
  • Nếu bạn quan tâm đến cách AVF xử lý bảo mật, hãy tham khảo Bảo mật .
  • Để hiểu vai trò của dịch vụ ảo hóa, hãy tham khảo VirtualizationService .
  • Để biết mã nguồn của AVF hoặc giải thích chuyên sâu về từng thành phần riêng lẻ, hãy tham khảo kho lưu trữ AOSP
,

Khung ảo hóa Android (AVF) cung cấp môi trường thực thi an toàn và riêng tư để thực thi mã. AVF lý tưởng cho các trường hợp sử dụng thiên về bảo mật yêu cầu đảm bảo cách ly mạnh mẽ hơn, thậm chí được xác minh chính thức so với những đảm bảo do hộp cát ứng dụng của Android cung cấp. Android cung cấp cách triển khai tham chiếu của tất cả các thành phần cần thiết để triển khai AVF. Hiện tại, AVF chỉ được hỗ trợ trên các thiết bị ARM64. Hình 1 cho thấy kiến ​​trúc của AVF:

Kiến trúc AVF

Hình 1. Kiến trúc AVF

Dưới đây là định nghĩa cho các thuật ngữ quan trọng nhất từ ​​hình 1:

đỉnh và zipfuse
Gắn kết APEX và APK được nhập từ máy chủ một cách an toàn.
xác thực
Hệ thống tệp cầu chì để bảo mật chia sẻ nhiều tệp giữa Android và pVM (máy chủ và khách).
chất kết dính
Phương tiện chính của giao tiếp giữa các VM.
chéo
Một màn hình máy ảo được viết bằng rỉ sét. crosvm phân bổ bộ nhớ VM, tạo các luồng CPU ảo và triển khai các phần phụ trợ của thiết bị ảo.
Hình ảnh hạt nhân chung (GKI)
Hình ảnh khởi động được Google chứng nhận có chứa nhân GKI được xây dựng từ cây nguồn Hạt nhân chung của Android (ACK) và phù hợp để được flash vào phân vùng khởi động của thiết bị Android. Để biết thêm thông tin, hãy xem Tổng quan về hạt nhân .
siêu giám sát
Công nghệ ảo hóa được AVF sử dụng, còn được gọi là pKVM . Trình ảo hóa duy trì tính toàn vẹn của mã được thực thi và tính bảo mật của tài sản của pVM, ngay cả khi Android hoặc bất kỳ pVM nào khác bị xâm phạm.
API Java
Các API Java VirtualizationService chỉ có trên các thiết bị có hỗ trợ AVF. Các API này là tùy chọn và không phải là một phần của thebootclasspath .
Microdroid
Hệ điều hành Android mini do Google cung cấp chạy trong pVM.
Trình quản lý Microdroid
Quản lý vòng đời pVM, bên trong pVM và đĩa phiên bản.
API gốc
Một tập hợp con của Bộ công cụ dành cho nhà phát triển bản địa Android (NDK).
máy ảo dựa trên hạt nhân được bảo vệ (pKVM)
Xem Trình giám sát ảo .
Phần mềm pVM ( pvmfw )
Mã đầu tiên chạy trên pVM, pvmfw xác minh tải trọng và lấy ra bí mật trên mỗi VM.
máy ảo được bảo vệ (pVM)

Môi trường thực thi biệt lập ("khách") không được tin cậy lẫn nhau chạy cùng với hệ điều hành Android chính ("máy chủ"). pVM được quản lý bởi pKVM.

So với các môi trường thực thi đáng tin cậy (TEE) hiện có, pVM cung cấp một môi trường phong phú hơn, bao gồm cả bản phân phối Android mini có tên Microdroid . pVM có thể được sử dụng một cách linh hoạt và cung cấp một bộ API tiêu chuẩn có sẵn trên tất cả các thiết bị hỗ trợ chúng.

Dịch vụ ảo hóa

Dịch vụ Android quản lý vòng đời của pVM.

Cái gì tiếp theo?

  • Nếu bạn muốn hiểu rõ hơn về sự cần thiết của AVF, hãy tham khảo Tại sao AVF? .
  • Để đọc về cách sử dụng AVF để biên dịch riêng biệt, hãy tham khảo Các trường hợp sử dụng .
  • Nếu bạn muốn giải thích sâu hơn về kiến ​​trúc triển khai tham chiếu AVF, hãy tham khảo kiến ​​trúc AVF .
  • Nếu bạn muốn tìm hiểu về Microdroid hãy tham khảo Microdroid .
  • Nếu bạn quan tâm đến cách AVF xử lý bảo mật, hãy tham khảo Bảo mật .
  • Để hiểu vai trò của dịch vụ ảo hóa, hãy tham khảo VirtualizationService .
  • Để biết mã nguồn của AVF hoặc giải thích chuyên sâu về từng thành phần riêng lẻ, hãy tham khảo kho lưu trữ AOSP