بستههای خدماتی میتوانند به عنوان بستههای APEX، مستقل از بهروزرسانیهای کامل سیستم، بهروزرسانی شوند. در SDV، این فرآیند بهروزرسانی توسط مدیر بهروزرسانی SDV مدیریت میشود. برای اعمال بهروزرسانی، باید دستگاه را مجدداً راهاندازی کنید.
دو نوع APEX برای بهروزرسانیهای بستهی خدماتی پشتیبانی میشوند:
APEX از پیش نصب شده : نسخه قبلی بسته APEX از قبل روی یکی از پارتیشنهای فقط خواندنی (
/system،/system_ext،/product،/vendorو/odm) وجود دارد.APEX جدید : هیچ بسته APEX با نام مشابه (همانطور که در
apex_manifest.jsonاعلام شده است) در هیچ یک از پارتیشنهای فقط خواندنی وجود ندارد.
APEX از پیش نصب شده
این رایجترین و توصیهشدهترین روش برای بهروزرسانی بستههای خدماتی است. برای اینکه این بهروزرسانی معتبر باشد، بسته جدید APEX باید این شرایط را داشته باشد:
نام بسته در
apex_manifest.jsonمشابه APEX از پیش نصب شده باشد.در فایل
apex_manifest.jsonکدی با نسخه بالاتر از APEX از پیش نصب شده تعریف کنید.APEX را با همان جفت کلید APEX از پیش نصب شده امضا کنید.
اپکس جدید
اگرچه استفاده از APEX های از پیش نصب شده بهترین روش امنیتی است، APEX های جدید نیز پشتیبانی میشوند. هنگام استفاده از این رویکرد، شرکا مسئول حفظ پروتکلهای امنیتی جامع هستند. این مسئولیتها عبارتند از:
مدیریت ایمن کلیدهای امضای مورد استفاده برای این APEXها.
ایجاد یک فرآیند قوی برای شناسایی و مسدود کردن بستههای مخرب.
تبدیل APEX های جدید به APEX های از پیش نصب شده در بروزرسانی های بعدی سیستم در صورت امکان.
برای نصب یا بهروزرسانی APEX جدید، تنظیمات زیر مورد نیاز است.
کلیدهای عمومی قابل اعتماد را از قبل نصب کنید
برای نصب یک APEX جدید، کلید امضای عمومی آن باید از قبل روی پارتیشن هدف نصب شده باشد. کلید عمومی را در /partition/etc/brand_new_apex/ قرار دهید، که در آن /partition/ نشان دهنده پارتیشنی است که APEX تحت قوانین Treble به آن مرتبط است. به عنوان مثال، اگر امضای یک APEX در برابر یک کلید عمومی در /vendor/etc/brand_new_apex/ تأیید شود، به عنوان یک APEX فروشنده رفتار خواهد کرد. سیستم هر APEX جدیدی را که توسط کلیدی مربوط به یک کلید عمومی از پیش نصب شده امضا نشده باشد، رد میکند.
مسدود کردن یک APEX جدید مخرب
اگر یک APEX جدید پس از نصب به عنوان مخرب شناسایی شود، باید با استفاده از یک بهروزرسانی سیستم مسدود شود. برای انجام این کار، نام بسته APEX را به یک فایل لیست سیاه در /partition/etc/brand_new_apex/blocklist.json اضافه کنید. این لیست سیاه باید در پارتیشن هدف APEX (همان پارتیشنی که کلید عمومی آن از قبل نصب شده است) قرار گیرد. هر پارتیشن فایل لیست سیاه اختصاصی خود را دارد.