Komunikacja bliskiego zasięgu NFC
NFC obsługuje płatności zbliżeniowe, odczyt kart miejskich, wymianę danych i parowanie urządzeń. Smartfon może komunikować się z terminalem, tagiem albo drugim telefonem po zbliżeniu anten. Near Field Communication, czyli NFC, to standard krótkiego zasięgu, którego parametry opierają się na sprzężeniu indukcyjnym i pracy przy częstotliwości 13,56 MHz.
NFC rozwinęło rozwiązania RFID używane przy śledzeniu zapasów i kartach dostępowych. Systemy RFID często wykorzystują czytnik odpytujący pasywny tag w jednym kierunku. Profile NFC obsługują także dwukierunkową wymianę danych między zasilanymi urządzeniami przy zachowaniu konfiguracji przez zbliżenie. W 2002 roku Royal Philips Electronics i Sony ogłosiły wspólny rozwój NFC. Dział półprzewodników Philipsa, wydzielony później w 2006 roku jako NXP Semiconductors, uczestniczył w późniejszej standaryzacji tej technologii.
NFC Forum powstało w 2004 roku jako stowarzyszenie branżowe rozwijające specyfikacje i certyfikację NFC. Zakres obejmuje urządzenia aktywne, pasywne tagi, emulację karty i wymianę danych. Wymagania urządzeń rozdzielają funkcje Peer, Reader/Writer, Card Emulation i Tag, więc certyfikowane urządzenie nie musi implementować każdej roli. NFC łączy krótki czas zestawiania połączenia z małym ładunkiem danych, natomiast poufność oraz uwierzytelnianie wynikają z zastosowanych protokołów i warstw aplikacyjnych.
Indukcja pola i zasięg NFC
W przeciwieństwie do wielu technologii bezprzewodowych, które przesyłają fale radiowe na duże odległości, NFC działa na innej zasadzie fizycznej: przenosi energię i dane między blisko położonymi antenami. Skuteczna odległość zależy od anteny, mocy, ustawienia i profilu urządzenia.
Komponenty systemu NFC
Połączenie NFC obejmuje inicjator i cel. Anteny pętlowe tworzą sprzężenie, a cel może być zasilany z pola inicjatora.
- Inicjator (urządzenie aktywne): Inicjator rozpoczyna wymianę w trybie czytnika i wytwarza pole elektromagnetyczne. Korzysta ze źródła zasilania, takiego jak bateria smartfonu lub zasilanie terminala płatniczego.
- Cel (urządzenie pasywne lub aktywne): Cel odpowiada inicjatorowi. W zależności od trybu może być zasilany z pola albo mieć własne źródło energii:
- Pasywny: Tag bez własnego zasilania, taki jak chip NFC w karcie płatniczej, naklejce lub karcie miejskiej. Układ pobiera energię z pola inicjatora.
- Aktywny: Zasilane urządzenie, takie jak drugi smartfon. W aktywnym trybie komunikacji oba urządzenia mogą naprzemiennie wytwarzać pole.
Proces indukcji
Proces przebiega następująco:
- Urządzenie inicjujące generuje prąd przemienny w cewce swojej anteny, tworząc wokół niej małe, oscylujące pole magnetyczne.
- Kiedy cel znajdzie się w polu, odległość zależy od anten, mocy i profilu pracy. NFC Forum opisuje certyfikowane operating volume OV5 do 5 mm oraz OV20 do 20 mm, a typowy zasięg NFC wynosi do około 2 cm.
- To zmieniające się pole magnetyczne indukuje prąd elektryczny w cewce celu, skutecznie zasilając mikroczip pasywnego taga. Pasywny cel pobiera całą energię potrzebną do działania bezpośrednio z pola magnetycznego inicjatora.
- Po zasileniu, chip celu może przetwarzać informacje. Aby wysłać dane z powrotem do inicjatora, moduluje on to pole magnetyczne poprzez zmianę obciążenia na własnej antenie. Ta subtelna zmiana w polu jest wykrywana przez antenę inicjatora, umożliwiając transfer danych z pasywnego taga z powrotem do aktywnego czytnika.
Interakcja odbywa się przy częstotliwości , określonej między innymi w ISO/IEC 18092. Zestaw NFC współpracuje także z profilami ISO/IEC 14443 i ISO/IEC 15693, dlatego zgodność zależy od obsługiwanej technologii i certyfikacji urządzenia. ISO/IEC 18092:2023 definiuje aktywny i pasywny tryb komunikacji, modulację, kodowanie, szybkości bitowe, format ramki, inicjalizację i kontrolę kolizji. ISO/IEC 21481:2021 opisuje wybór oraz przełączanie trybów dla urządzeń zgodnych z ISO/IEC 18092, ISO/IEC 14443 lub ISO/IEC 15693. NFC Forum podaje szybkości od 46 kbit/s do 1,7 Mbit/s, a jedna strona połączenia może dostarczać energię w trybie bez baterii. Certyfikowane operating volumes korzystają z określonych cewek referencyjnych, więc podany zasięg opisuje warunek testowy, a jego wartość zależy od urządzenia.
Tryby pracy NFC
NFC Forum opisuje główne tryby Reader/Writer, Peer-to-Peer i Card Emulation. Specyfikacje obejmują także Wireless Charging o mocy do 1 W, a pojedynczy telefon może implementować wybrany zestaw trybów. Specyfikacja Digital Protocol wymienia role protokołu Initiator, Target, Reader/Writer i Card Emulator, które są odrębne od scenariuszy użytkowych. Specyfikacja Analog definiuje dla ról NFC szybkości 106, 212 i 424 kbit/s. Ten sam układ może pełnić różne role w kolejnych wymianach, zależnie od aktywnego protokołu. Telefon może więc działać jako czytnik taga i jako karta dla terminala.
- Tryb czytnika i zapisu dla tagów
Aktywne urządzenie NFC działa jako czytnik pasywnego taga. Telefon może odczytać rekord NDEF albo zapisać nową wiadomość, jeśli tag i aplikacja obsługują zapis.
Tryb służy do interakcji z obiektami wyposażonymi w tagi. Na przykład, jeśli zobaczysz plakat filmowy na przystanku autobusowym z logo NFC, możesz do niego przyłożyć telefon. W trybie czytnika telefon odczyta dane NDEF zapisane na tagu wbudowanym w plakat, które mogą być adresem URL do zwiastuna filmu, a aplikacja może otworzyć stronę internetową. Przykłady NFC Forum obejmują także numery telefonów, krótkie wiadomości, adresy poczty elektronicznej, punkty na mapie, dane kontaktowe, informacje do parowania Bluetooth i klucze Wi-Fi. Inne zastosowania to dotykanie wizytówki NFC, aby dodać kontakt do telefonu, lub dotykanie głośnika z obsługą NFC, aby pobrać jego aplikację towarzyszącą.
- Tryb Peer-to-Peer (P2P)
Dwa zasilane urządzenia mogą ustanowić dwukierunkowy kanał i wymieniać kontakty, zdjęcia lub dokumenty. Role Initiator i Target wynikają z protokołu, a oba urządzenia mogą brać udział w wymianie.
NFC może przekazać dane inicjujące szybsze połączenie. Protokół cyfrowy działa w trybie half-duplex, więc urządzenia nadają naprzemiennie. W profilu o szybkości do 424 kbit/s może służyć jako etap wyboru urządzeń, po którym aplikacja użyje Bluetooth albo Wi-Fi Direct do przesłania większego pliku. Android Beam był przykładem takiego zastosowania, lecz został wycofany.
- Tryb emulacji karty
Smartfon lub smartwatch emuluje kartę zbliżeniową i odpowiada na polecenia terminala albo czytnika bramki. Urządzenie emulujące kartę nie rozpoczyna komunikacji samodzielnie.
Tryb ten wykorzystują BLIK Zbliżeniowy, Google Pay i Apple Pay, a także wybrane klucze hotelowe i karty miejskie. Terminal inicjuje wymianę przez pole NFC, natomiast bezpieczeństwo transakcji zależy od EMV, tokenizacji, Secure Element lub HCE, uwierzytelnienia i zasad wydawcy.
Format wymiany danych NFC NDEF
Aby urządzenia rozumiały dane, które odczytują z taga NFC, informacje muszą być przechowywane w standardowym formacie. NFC Forum zdefiniowało w tym celu . NDEF określa lekki, binarny format wiadomości, który może być używany do enkapsulacji jednej lub więcej zdefiniowanych przez aplikację informacji.
Struktura wiadomości NDEF
Wiadomość NDEF składa się z jednego lub większej liczby rekordów. Rekord obejmuje nagłówek z flagami, TNF, długościami i opcjonalnym identyfikatorem oraz ładunek danych. Smart Poster może łączyć w jednej wiadomości rekord URI, tekst opisowy i ikonę:
- Nagłówek rekordu: Początkowa część rekordu zawiera flagi i metadane, w tym:
- Format Nazwy Typu (TNF): 3-bitowe pole wskazujące typ ładunku. Informuje urządzenie odczytujące, czy ładunek jest dobrze znanym typem zdefiniowanym przez NFC Forum, typem mediów MIME, adresem URL czy typem niestandardowym.
- Flagi rekordu: Flagi granic wiadomości, krótkiego rekordu i identyfikatora opisują sposób zakodowania rekordu.
- Typ Ładunku: Definiuje specyficzny typ danych w ładunku, np. "text/plain" lub URL.
- Długość Ładunku: Rozmiar ładunku w bajtach.
- Ładunek rekordu: To dane przekazywane odbiorcy, takie jak adres internetowy, tekst lub informacje kontaktowe.
Typy rekordów NDEF
NFC Forum definiuje typy rekordów ułatwiające interpretację danych. W przykładach Forum odnośnik internetowy otwiera stronę, numer telefonu uruchamia połączenie, rekord poczty tworzy wiadomość, a dane kontaktowe trafiają do książki adresowej. Działanie wybiera aplikacja po odczytaniu rekordu.
- Rekord URI: Służy do przechowywania Uniform Resource Identifier, czyli najczęściej adresu internetowego (URL). To właśnie jest używane w inteligentnych plakatach. Telefon, który odczyta ten typ rekordu, wie, że powinien otworzyć przeglądarkę internetową.
- Rekord Tekstowy: Używany do przechowywania zwykłego tekstu w określonym kodowaniu językowym (np. UTF-8).
- Rekord Typu Mediów MIME: Może być używany do przechowywania dowolnego rodzaju danych, które mogą być reprezentowane przez typ MIME, na przykład
image/jpeglubapplication/pdf, chociaż mały rozmiar większości tagów NFC czyni to niepraktycznym dla dużych plików. - Rekord Inteligentnego Plakatu: Specjalny typ wiadomości, który może zawierać wiele rekordów, takich jak URL, tekst opisowy i być może ikonę, wszystko spakowane razem.
Ochrona i ograniczenia bezpieczeństwa NFC
Krótki zasięg NFC ogranicza obszar, z którego można próbować oddziaływać na połączenie. Sama warstwa radiowa nie zapewnia jednak poufności ani uwierzytelnienia. Te właściwości wynikają z protokołów i zabezpieczeń aplikacji.
Pole magnetyczne maleje wraz z odległością, więc czytnik i cel muszą znaleźć się w swoim operating volume. Bliskość ogranicza geometrię ataku, lecz NIST wymienia dla NFC także podsłuch, wstrzyknięcie i ataki relay. Wymiana danych wymaga ochrony właściwej dla konkretnej aplikacji:
- Podsłuch: Umieszczenie dodatkowej anteny blisko urządzeń jest trudniejsze niż w sieciach dalekiego zasięgu, lecz bliskość nie eliminuje podsłuchu. Poufność wymaga szyfrowania i uwierzytelnienia określonego przez protokół lub aplikację. NIST traktuje NFC jako połączenie bezprzewodowe i wymienia podsłuch wśród możliwych zagrożeń.
- Wstrzyknięcie i relay: Atakujący może próbować przekazywać lub modyfikować komunikaty, dlatego aplikacja powinna stosować uwierzytelnienie, ochronę integralności i procedury ograniczające relay. NIST wymaga szyfrowania sekretu aktywacyjnego dla bezprzewodowego uwierzytelnienia o zasięgu poniżej 1 metra i zaleca uwierzytelnione połączenie.
Warstwy bezpieczeństwa płatności
Płatności mobilne korzystają z warstw aplikacyjnych zbudowanych nad łączem NFC. W zależności od rozwiązania obejmują one EMV, tokenizację, Secure Element albo HCE oraz uwierzytelnienie użytkownika. EMVCo opisuje tokenizację jako zastąpienie numeru rachunku PAN alternatywną wartością ograniczoną do kupca, urządzenia lub scenariusza płatności:
- Element bezpieczny (SE): Klucze i aplikacje płatnicze mogą być przechowywane w . Jest to oddzielny układ przeznaczony do ochrony aplikacji i danych kryptograficznych. Portfel może też używać emulacji karty w środowisku gospodarza, w której system operacyjny i aplikacja płatnicza zapewniają ścieżkę emulacji. Zakres izolacji od systemu operacyjnego zależy od architektury urządzenia i rozwiązania płatniczego.
- Tokenizacja: EMV Payment Token zastępuje numer PAN alternatywną wartością ograniczoną do określonego kupca, urządzenia lub scenariusza płatności. Wspierane portfele mogą używać takiej wartości zamiast PAN, lecz sposób jej użycia zależy od wydawcy, sieci płatniczej i terminala.
- Uwierzytelnianie użytkownika: Portfel może wymagać odcisku palca, rozpoznawania twarzy albo kodu PIN przed transakcją. Wymaganie i wyjątki zależą od ustawień portfela, kwoty, kraju i zasad wydawcy. NFC przenosi wymianę zbliżeniową, a te kontrole należą do portfela i systemu płatniczego.