Bezpieczna komunikacja NFC

Android obsługuje emulację karty off-host, co oznacza emulację karty NFC z bezpiecznym elementem. Aby uzyskać więcej informacji, zobacz Omówienie emulacji kart opartej na hoście .

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

Bezpieczna 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 funkcji Secure NFC w celu zwiększenia bezpieczeństwa.

Realizacja

Aby wdrożyć funkcję Secure NFC, urządzenie musi mieć kontroler NFC obsługujący standard NCI 2.0 i musi korzystać ze struktury NFC Android Open Source Project (AOSP). Dodaj sprzęt ( ro.boot.hardware.sku ) obsługujący funkcję Secure NFC do pliku XML zasobu NFC z atrybutem config_skuSupportsSecureNfc .

Ramowe interfejsy API

Aby zaimplementować Secure NFC, zaimplementuj następujące frameworkowe interfejsy API znalezione w projekcie Android Open Source:

Interfejs ustawień

W aplikacji Ustawienia dodaj przełącznik, aby umożliwić użytkownikom włączanie i wyłączanie funkcji Bezpieczny NFC. Możesz dostosować ustawienie domyślne w aplikacji Ustawienia, aby je włączyć lub wyłączyć.

Rysunek 1 przedstawia przykład przełącznika umożliwiającego włączenie i wyłączenie Bezpiecznej NFC w aplikacji Ustawienia , wybierając Ustawienia > Połączone urządzenia > Preferencje połączeń > NFC > Wymagaj odblokowania urządzenia dla NFC .

Bezpieczny przepływ interfejsu NFC

Rysunek 1. Przykładowy przełącznik umożliwiający włączenie i wyłączenie funkcji Secure NFC

Gdy włączona jest funkcja Secure NFC, a użytkownik umieści urządzenie na czytniku NFC, system Android wyświetli na ekranie blokady powiadomienie Odblokuj, aby użyć NFC , jak pokazano na rysunku 2.

Bezpieczne powiadomienie NFC

Rysunek 2. Odblokuj, aby korzystać z powiadomień NFC na ekranie blokady

Walidacja

Aby sprawdzić poprawność implementacji, włącz funkcję Bezpieczny 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.