Android obsługuje emulację karty poza hostem, co oznacza emulację karty NFC z bezpiecznym elementem. Aby uzyskać więcej informacji, zobacz Omówienie emulacji karty opartej na hoście .
W niektórych przypadkach użycia, takich jak używanie FeliCa do transportu, emulacja karty poza hostem jest dozwolona, gdy ekran urządzenia jest zablokowany lub wyłączony, albo gdy urządzenie jest wyłączone.
Secure NFC to funkcja wprowadzona w systemie Android 10, która umożliwia włączenie emulacji karty NFC poza hostem tylko wtedy, gdy ekran urządzenia jest odblokowany. Wdrożenie tej funkcji daje użytkownikom możliwość włączenia bezpiecznego NFC w celu zwiększenia bezpieczeństwa.
Realizacja
Aby zaimplementować funkcję Secure NFC, urządzenie musi mieć kontroler NFC obsługujący standard NCI 2.0 i musi korzystać z platformy Android Open Source Project (AOSP) NFC. Dodaj sprzęt ( ro.boot.hardware.sku
) obsługujący funkcję bezpiecznego NFC w pliku XML zasobu NFC z atrybutem config_skuSupportsSecureNfc
.
Frameworkowe API
Aby zaimplementować Secure NFC, zaimplementuj następujące interfejsy API frameworka, które można znaleźć w projekcie Android Open Source:
-
isSecureNfcSupported()
: Sprawdza, czy urządzenie obsługuje funkcję Secure NFC. -
isSecureNfcEnabled()
: Sprawdza, czy funkcja Secure NFC jest włączona. -
enableSecureNfc(boolean enable)
: Włącza funkcję Secure NFC.
Interfejs ustawień
W aplikacji Ustawienia dodaj przełącznik, aby umożliwić użytkownikom włączanie i wyłączanie funkcji Secure NFC. Możesz dostosować domyślne ustawienie w aplikacji Ustawienia, aby było włączone lub wyłączone.
Rysunek 1 przedstawia przykład przełącznika umożliwiającego włączanie i wyłączanie bezpiecznego NFC w aplikacji Ustawienia w obszarze Ustawienia > Połączone urządzenia > Preferencje połączenia > NFC > Wymagaj odblokowania urządzenia dla NFC .
Rysunek 1. Przykładowy przełącznik do włączania i wyłączania bezpiecznego NFC
Gdy Bezpieczne NFC jest włączone, a użytkownik umieszcza urządzenie na czytniku NFC, system Android wyświetla na ekranie blokady powiadomienie Odblokuj, aby użyć NFC , jak pokazano na rysunku 2.
Rysunek 2. Odblokuj, aby korzystać z powiadomień NFC na ekranie blokady
Walidacja
Aby zweryfikować implementację, włącz funkcję Bezpieczne NFC i sprawdź, czy emulacja karty NFC jest wyłączona, gdy ekran urządzenia jest wyłączony lub zablokowany oraz gdy urządzenie jest wyłączone.
,Android obsługuje emulację karty poza hostem, co oznacza emulację karty NFC z bezpiecznym elementem. Aby uzyskać więcej informacji, zobacz Omówienie emulacji karty opartej na hoście .
W niektórych przypadkach użycia, takich jak używanie FeliCa do transportu, emulacja karty poza hostem jest dozwolona, gdy ekran urządzenia jest zablokowany lub wyłączony, albo gdy urządzenie jest wyłączone.
Secure NFC to funkcja wprowadzona w systemie Android 10, która umożliwia włączenie emulacji karty NFC poza hostem tylko wtedy, gdy ekran urządzenia jest odblokowany. Wdrożenie tej funkcji daje użytkownikom możliwość włączenia bezpiecznego NFC w celu zwiększenia bezpieczeństwa.
Realizacja
Aby zaimplementować funkcję Secure NFC, urządzenie musi mieć kontroler NFC obsługujący standard NCI 2.0 i musi korzystać z platformy Android Open Source Project (AOSP) NFC. Dodaj sprzęt ( ro.boot.hardware.sku
) obsługujący funkcję bezpiecznego NFC w pliku XML zasobu NFC z atrybutem config_skuSupportsSecureNfc
.
Frameworkowe API
Aby zaimplementować Secure NFC, zaimplementuj następujące interfejsy API frameworka, które można znaleźć w projekcie Android Open Source:
-
isSecureNfcSupported()
: Sprawdza, czy urządzenie obsługuje funkcję Secure NFC. -
isSecureNfcEnabled()
: Sprawdza, czy funkcja Secure NFC jest włączona. -
enableSecureNfc(boolean enable)
: Włącza funkcję Secure NFC.
Interfejs ustawień
W aplikacji Ustawienia dodaj przełącznik, aby umożliwić użytkownikom włączanie i wyłączanie funkcji Secure NFC. Możesz dostosować domyślne ustawienie w aplikacji Ustawienia, aby było włączone lub wyłączone.
Rysunek 1 przedstawia przykład przełącznika umożliwiającego włączanie i wyłączanie bezpiecznego NFC w aplikacji Ustawienia w obszarze Ustawienia > Połączone urządzenia > Preferencje połączenia > NFC > Wymagaj odblokowania urządzenia dla NFC .
Rysunek 1. Przykładowy przełącznik do włączania i wyłączania bezpiecznego NFC
Gdy Bezpieczne NFC jest włączone, a użytkownik umieszcza urządzenie na czytniku NFC, system Android wyświetla na ekranie blokady powiadomienie Odblokuj, aby użyć NFC , jak pokazano na rysunku 2.
Rysunek 2. Odblokuj, aby korzystać z powiadomień NFC na ekranie blokady
Walidacja
Aby zweryfikować implementację, włącz funkcję Bezpieczne NFC i sprawdź, czy emulacja karty NFC jest wyłączona, gdy ekran urządzenia jest wyłączony lub zablokowany oraz gdy urządzenie jest wyłączone.