שילוב fs-verity

קל לארגן דפים בעזרת אוספים אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.

fs-verity היא תכונת ליבת לינוקס המאפשרת למערכת לאמת ברציפות קבצי APK עם תעודות דיגיטליות מהימנות. כאשר הפלטפורמה מספקת מנגנון אימות זה בגישה, עם אישור מהימן מחנות נתמכת כמו Play, החנות יכולה להתקין קבצי APK עם חתימת fs-verity לאימות מתמשכת. קבצים המוגנים על ידי fs-verity אינם ניתנים לשינוי ובקשות קריאה מצליחות רק אם התוכן מאמת.

ברגע ש-fs-verity נתמכת בקרנל, שותפים יכולים לשים את הסוג החדש של אישור מהחנויות המהימנות שלהם במחיצת /product/etc/security/fsverity , האישורים נטענים למחזיק מפתחות הליבה בזמן האתחול. במכשיר התומך בתכונה זו, החנות המהימנה יכולה להתקין APK עם חתימת fs-verity המתאימה להם.

יישום

מכשירים מושקים עם Android R

fs-verity היא תכונת ליבת לינוקס שהועלתה ב-Upstream מאז 5.4, ועברה בחזרה לגרעין הנפוץ של אנדרואיד 4.14 ומעלה. התקנים חדשים המשתמשים בגרעין נפוץ 4.14 ואילך ומשתמשים ב-ext4 או f2fs עבור מחיצות נתונים משתמש אינם צריכים לנקוט בשום פעולה מכיוון שהם כבר תומכים ב-fs-verity דרך ליבת לינוקס .

מכשירים המשדרגים לאנדרואיד R

יש להעביר תיקוני fs-verity לאחור לליבת המכשיר. עבור ext4, הוסף fsverity לדגל fs_mgr ב- fstab . לאחר מכן ניתן להפעיל את התכונה עם ההגדרה הבאה:

ro.apk_verity.mode=2

ממשק API

ממשק API ציבורי חדש הוצג כדי לשאול את מצב התמיכה של המכשיר ולקבוע אם אישור מהימן במכשיר.

  public final class FileIntegrityManager {
    public boolean isApkVeritySupported();
    @RequiresPermission(anyOf={
        android.Manifest.permission.INSTALL_PACKAGES,
        android.Manifest.permission.REQUEST_INSTALL_PACKAGES})
    public boolean isAppSourceCertificateTrusted(@NonNull java.security.cert.X509Certificate)
            throws java.security.cert.CertificateEncodingException;
  }

מַתַן תוֹקֵף

הפעל את בדיקות ה-VTS, CTS וה-GTS הבאות כדי לאמת את היישום.

  • [VTS] ApkVerityTest
  • [CTS] CtsAppSecurityHostTestCases:android.appsecurity.cts.ApkVerityInstallTest
  • [CTS] CtsSecurityHostTestCases#android.security.cts.KernelConfigTest
  • [GTS] GtsPlayFsiTestCases & GtsPlayFsiHostTestCases