Zabezpiecz komunikację NFC

Android obsługuje emulację karty poza hostem, czyli emulację karty NFC z elementem zabezpieczającym. Więcej informacji znajdziesz w artykule Omówienie emulacji kart na podstawie hosta.

W niektórych przypadkach, np. podczas korzystania z karty FeliCa w transporcie, emulacja karty poza hostem jest dozwolona, gdy ekran urządzenia jest zablokowany lub wyłączony albo gdy urządzenie jest wyłączone.

Bezpieczna komunikacja NFC to funkcja wprowadzona w Androidzie 10, która umożliwia emulację 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.

Implementacja

Aby wdrożyć funkcję Bezpieczne NFC, urządzenie musi mieć kontroler NFC, który obsługuje standard NCI 2.0 i musi używać platformy NFC Android Open Source Project (AOSP). Dodaj sprzęt (ro.boot.hardware.sku), który obsługuje funkcję bezpiecznej technologii NFC, w pliku XML zasobu z atrybutem config_skuSupportsSecureNfc.

Interfejsy Framework API

Aby wdrożyć bezpieczne NFC, zaimplementuj te interfejsy API frameworku dostępne w projekcie Android Open Source:

Ustawienia interfejsu

W aplikacji Ustawienia dodaj przełącznik, który umożliwi użytkownikom włączanie i wyłączanie funkcji Bezpieczne NFC. W aplikacji Ustawienia możesz dostosować ustawienie domyślne, aby było włączone lub wyłączone.

Rysunek 1 przedstawia przykład przełącznika do włączania i wyłączania szyfrowania NFC w aplikacji Ustawienia (Ustawienia > Połączone urządzenia > Ustawienia połączeń > NFC > NFC wymaga odblokowywania urządzenia).

Bezpieczna komunikacja NFC

Rysunek 1. Przykład przełącznika umożliwiającego włączenie i wyłączenie bezpiecznej technologii NFC

Gdy włączona jest bezpieczna technologia NFC, a użytkownik przyłoży urządzenie do czytnika NFC, na ekranie blokady wyświetli się powiadomienie Odblokuj, aby użyć NFC, jak pokazano na rysunku 2.

Powiadomienie o bezpiecznej komunikacji NFC

Rysunek 2. Powiadomienie na ekranie blokady dotyczące odblokowania, aby użyć komunikacji NFC

Weryfikacja

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.