如 Android 相容性定義說明文件所述, 原始設備製造商 (OEM) 必須提供引入應用程式開發機制。不過,提供類似行動裝置 因此,如果車中的開發人員選擇比較好,就會讓車輛更容易遭受攻擊。開發人員存取權 選項現在可由原始設備製造商 (OEM) 透過經過驗證的密碼編譯權杖機制管制。 具體來說,原始設備製造商 (OEM) 可以:
- 請在首次啟動前設定所需的預設限制。
- 透過加密權杖 (如有需要) 安全地授權開發人員。
- 在開發人員經過驗證及授權後套用限制變更。
本文說明包含偵錯限制的參考實作方式 和遠端權杖核發機構端點
術語
除了術語以外, 本文中使用了這些術語:
- JSON Web Signature (JWS),依據 RFC 7515 定義
- 美國國家標準與技術研究院 (NIST)
設計
原始設備製造商 (OEM) 可以使用 JSON Web Signature (JWS) 權杖 (RFC7515) 為開發人員授權。在 存取權杖,但存取權杖是由原始設備製造商 (OEM) 核發,並會受到限制使用 控制器應用程式。存取權杖可以用來抵禦重播攻擊和偽造權杖。
圖 1. 設計
整合與設定
原始設備製造商 (OEM) 必須在首次啟動時指定所需的預設限制。方法是使用 多個靜態資源重疊,以覆寫 Android 開放原始碼計畫架構中的預設值。
使用
將 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>
Android 開放原始碼計畫的下列位置提供參考資源:
packages/apps/Car/DebuggingRestrictionController
測試
Google 建議原始設備製造商 (OEM) 先從參考實作著手,再據此建構。
- 在疊加層檔案中設定所需的限制後,請編譯 AAOS 和 來驗證定義的流程使用參考應用程式和啟用本機 JWS 的服務 驗證您的存取權設定。
- 設定系統以使用啟用 JWS 的雲端服務 (選用)。驗證你的身分 在您的後端服務觀察所需的流程。