確保 NFC 安全

Android 支援主機外卡片模擬功能,也就是使用安全元件的 NFC 卡片模擬功能。詳情請參閱「主機型卡片模擬總覽」。

在某些用途 (例如使用 FeliCa 進行大眾運輸) 中,如果裝置螢幕已鎖定或關閉,或是裝置已關閉,則允許離機卡模擬。

安全 NFC 是 Android 10 中推出的功能,可讓您僅在裝置螢幕解鎖時啟用離機 NFC 卡模擬功能。實作這項功能後,使用者就能選擇啟用安全 NFC,進一步提升安全性。

實作

如要實作安全 NFC 功能,裝置必須具備支援 NCI 2.0 標準的 NFC 控制器,並使用 Android 開放原始碼計畫 (AOSP) NFC 架構。使用 config_skuSupportsSecureNfc 屬性,在 NFC 資源 XML 檔案中新增支援安全 NFC 功能的硬體 (ro.boot.hardware.sku)。

Framework API

如要實作安全 NFC,請實作 Android 開放原始碼專案中的下列架構 API:

設定 UI

在「設定」應用程式中,新增切換鈕,讓使用者啟用及停用安全 NFC 功能。您可以在「設定」應用程式中自訂要啟用或停用的預設設定。

圖 1 顯示了切換鈕的範例,可在「設定」應用程式中依序前往「設定」>「已連結的裝置」>「連線偏好設定」>「NFC」>「必須解鎖裝置才能使用 NFC」,啟用及停用安全 NFC。

安全 NFC UI 流程

圖 1. 啟用及停用安全 NFC 的切換鈕範例

啟用安全 NFC 後,如果使用者將裝置放在 NFC 讀卡器上,Android 會在螢幕鎖定畫面上顯示「解鎖以使用 NFC」通知,如圖 2 所示。

安全 NFC 通知

圖 2. 螢幕鎖定畫面上的「如要使用 NFC,請先解鎖」通知

驗證

如要驗證實作方式,請啟用安全 NFC 功能,並確認在裝置螢幕關閉或鎖定,以及裝置關機時,NFC 卡模擬功能會停用。