2025 年 3 月 27 日より、AOSP のビルドとコントリビューションには aosp-main
ではなく android-latest-release
を使用することをおすすめします。詳細については、AOSP の変更をご覧ください。
セキュア NFC
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Android はオフホスト カード エミュレーション(セキュア エレメントを使用した NFC カード エミュレーション)をサポートしています。詳しくは、ホストベースのカード エミュレーションの概要をご覧ください。
交通機関での FeliCa 使用のような特定の用途では、デバイスの画面がロックされていたりオフになっていたりする場合や、デバイスの電源がオフになっている場合に、オフホスト カード エミュレーションが許可されます。
セキュア NFC は Android 10 で導入された機能で、デバイスの画面ロックが解除されているときにのみオフホスト NFC カード エミュレーションを有効化します。この機能を実装すると、ユーザーはセキュア NFC を有効にしてセキュリティを強化できます。
実装
セキュア NFC 機能を実装するには、NCI 2.0 標準をサポートする NFC コントローラを備えたデバイスで、Android オープンソース プロジェクト(AOSP)NFC フレームワークを使用する必要があります。セキュア NFC 機能に対応したハードウェア(ro.boot.hardware.sku
)を、config_skuSupportsSecureNfc
属性を使用して NFC リソース XML ファイルに追加してください。
フレームワーク API
セキュア NFC を実装するには、Android オープンソース プロジェクトにある次のフレームワーク API を実装します。
設定 UI
設定アプリで、ユーザーがセキュア NFC 機能を有効または無効にできる切り替えスイッチを追加します。設定アプリのデフォルト設定をカスタマイズして有効または無効にできます。
図 1 は、設定アプリ([設定] > [接続済みのデバイス] > [接続の設定] > [NFC] > [NFC の使用にロック解除を要求])でセキュア NFC を有効または無効にする切り替えスイッチの例を示したものです。
図 1. セキュア NFC を有効または無効にする切り替えスイッチの例
セキュア NFC が有効で、ユーザーが NFC リーダーにデバイスを置くと、Android により [NFC を使用するには、ロックを解除してください] という通知がロック画面に表示されます(図 2 を参照)。
図 2. ロック画面上の [NFC を使用するには、ロックを解除してください] という通知
検証
実装を検証するには、セキュア NFC 機能を有効にして、デバイスの画面がオフの場合またはロックされている場合と、デバイスの電源がオフになっている場合に NFC カード エミュレーションが無効になることを確認します。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-03-25 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-03-25 UTC。"],[],[],null,["# Secure NFC\n\nAndroid supports off-host card emulation, which means\nNFC card emulation with a secure element. For more information, see\n[Host-based card emulation overview](https://developer.android.com/guide/topics/connectivity/nfc/hce).\n\nIn certain use cases such as using\n[FeliCa](https://en.wikipedia.org/wiki/FeliCa)\nfor transit, off-host card\nemulation is permitted when a device's screen is locked or turned off, or\nwhen a device is turned off.\n\nSecure NFC is a feature introduced in Android 10\nthat allows off-host NFC card\nemulation to be enabled only when the device's screen is unlocked. Implementing\nthis feature gives users the option to enable Secure NFC for\nimproved security.\n\nImplementation\n--------------\n\nTo implement the Secure NFC feature, the device must have an NFC controller that\nsupports the NCI 2.0 standard and must use the Android Open Source Project\n(AOSP) NFC framework. Add the hardware (`ro.boot.hardware.sku`) that supports\nthe Secure NFC feature in the NFC\n[resource XML file](https://android.googlesource.com/platform/packages/apps/Nfc/+/refs/heads/android16-release/res/values/config.xml)\nwith the `config_skuSupportsSecureNfc` attribute.\n\n### Framework APIs\n\nTo implement Secure NFC, implement the following framework APIs found in the\nAndroid Open Source Project:\n\n- [`isSecureNfcSupported()`](https://developer.android.com/reference/android/nfc/NfcAdapter#isSecureNfcSupported()): Checks if the device supports the Secure NFC feature.\n- [`isSecureNfcEnabled()`](https://developer.android.com/reference/android/nfc/NfcAdapter#isSecureNfcEnabled()): Checks if the Secure NFC feature is enabled.\n- [`enableSecureNfc(boolean enable)`](https://android.googlesource.com/platform/frameworks/base/+/refs/heads/android16-release/core/java/android/nfc/NfcAdapter.java#1722): Enables the Secure NFC feature.\n\n### Settings UI\n\nIn the Settings application, add a toggle switch to allow users to enable and\ndisable the Secure NFC feature. You can customize the default setting in the\nSettings application to be either enabled or disabled.\n\nFigure 1 shows an example of a toggle switch to enable and disable Secure NFC\nin the Settings app in **Settings \\\u003e Connected devices \\\u003e\nConnection preferences \\\u003e NFC \\\u003e Require device unlock for NFC**.\n\n**Figure 1.** Example toggle switch to enable and disable Secure NFC\n\nWhen Secure NFC is enabled and a user places the device on an NFC reader,\nAndroid displays the **Unlock to use NFC** notification on the lock screen\nas shown in Figure 2.\n\n**Figure 2.** Unlock to use NFC notification on the lock screen\n\nValidation\n----------\n\nTo validate your implementation, enable the Secure NFC feature and verify that\nNFC card emulation is disabled when the device's screen is off or locked, and\nwhen the device is turned off."]]