אבטחת אפשרויות מפתח

לפי מסמך הגדרת התאימות ל-Android , יצרני OEM חייבים לספק דרך לאפשר פיתוח אפליקציות. עם זאת, מתן אפשרויות מפתחים דמויי נייד בתוך מכוניות מותיר את המכוניות הללו חשופות להתקפה. כעת ניתן לסגור גישה לאפשרויות מפתחים על ידי יצרן OEM באמצעות מנגנון אסימון קריפטוגרפי מאומת. באופן ספציפי, יצרן OEM יכול:

  • הגדר את מגבלות ברירת המחדל הרצויות לפני האתחול הראשון.
  • הרשאה מאובטחת למפתחים, עם אסימוני קריפטו אם עדיף.
  • החל שינויי הגבלה ברגע שמפתח מאומת ומוסמך.

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

טרמינולוגיה

בנוסף לטרמינולוגיה , נעשה שימוש במונחים אלה במאמר זה:

  • JSON Web Signature (JWS), המוגדר ב-RFC 7515
  • המכון הלאומי לתקנים וטכנולוגיה (NIST)

לְעַצֵב

יצרני OEM יכולים לאשר מפתחים עם אסימוני JSON Web Signature (JWS) (RFC7515). ביישום הייחוס, אסימוני גישה מונפקים על ידי יצרני OEM ונצרכים על ידי אפליקציית בקר ההגבלה. אסימוני גישה נועדו להתנגד להתקפות שידור חוזר ואסימונים מזויפים.

איור 1. עיצוב

אינטגרציה ותצורה

יצרני OEM חייבים לציין את מגבלות ברירת המחדל הרצויות באתחול הראשון. זה נעשה עם כמה שכבות-על של משאבים סטטיים כדי לעקוף את ברירות המחדל במסגרת AOSP.

ניתן להגדיר את מגבלות ברירת המחדל עבור משתמש מערכת ללא ראש עם המחרוזת config_defaultFirstUserRestrictions ב- frameworks/base/core/res/res/values/config.xml , לדוגמה:

<!-- User restrictions set when the first user is created.
         Note: Also update appropriate overlay files. -->
    <string-array translatable="false" name="config_defaultFirstUserRestrictions">
        <item>no_debugging_features</item>
    </string-array>

ניתן להגדיר את מגבלות ברירת המחדל עבור נהגים, נוסעים ואורחים ב- frameworks/base/core/res/res/xml/config_user_types.xml . OEM יכול שכבת-על| מחרוזות אלה כדי להגדיר את מגבלות ברירת המחדל על כל סוג של משתמש בהתאמה, לדוגמה:

<user-types>
    <full-type name="android.os.usertype.full.SECONDARY" >
        <default-restrictions no_debugging_features="true"/>
    </full-type>
    <full-type name="android.os.usertype.full.GUEST" >
        <default-restrictions no_debugging_features="true"/>
    </full-type>
</user-types>

יישום עזר מסופק במיקום הבא ב-AOSP:

packages/apps/Car/DebuggingRestrictionController

בדיקה

גוגל ממליצה ליצרני ציוד מקורי להתחיל עם יישום ההתייחסות ולבנות משם.

  1. לאחר קביעת התצורה של ההגבלות הרצויות בקבצי שכבת העל, הידור AAOS ותקף את הזרימות שהוגדרו. השתמש באפליקציית ההפניה ובשירות המקומי התומך ב-JWS כדי לאמת את הגדרות הגישה שלך.
  2. הגדר את המערכת לשימוש בשירות הענן התומך ב-JWS שלך (אופציונלי). ודא שאתה צופה בזרימה הרצויה בשירות העורף שלך.