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 do transportu, 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. Dzięki tej funkcji użytkownicy mogą włączyć bezpieczne NFC, aby zwiększyć bezpieczeństwo.

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 projektu Android Open Source (AOSP). Dodaj sprzęt (ro.boot.hardware.sku), który obsługuje funkcję bezpiecznej komunikacji 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.