Bezpieczna komunikacja NFC

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

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:

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 .

Bezpieczny przepływ interfejsu użytkownika 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.

Bezpieczne powiadomienie NFC

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:

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 .

Bezpieczny przepływ interfejsu użytkownika 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.

Bezpieczne powiadomienie NFC

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.