NFC i RFID
Wstęp do programowania kart zbliżeniowych MIFARE 1k 1
Wstęp do programowania kart zbliżeniowych MIFARE 1k

 

Dostęp do pamięci karty NFC MIFARE

Zaimplementowany na kartach MIFARE mechanizm bezpieczeństwa zakłada, iż dostęp do każdego sektora pamięci musi zostać zrealizowany z użyciem klucza bezpieczeństwa. Dostępowy klucz bezpieczeństwa może przyjąć dowolną wartość o długości 6B. Dla każdego sektora pamięci mogą zostać wykorzystane dwa klucze (keyA, keyB).


Dlaczego karta pozwala na zaprogramowanie dwóch kluczy dla jednego sektora? Dwa klucze  umożliwiają takie skonfigurowanie warunków dostępu do wybranego sektora pamięci, aby odczyt danych realizowany był innym kluczem, niż zapis.


Warto pamiętać, iż domyślną (fabryczną) wartością klucza A dla odczytu / zapisu informacji jest FF FF FF FF FF FF. Klucz o tej wartości można wykorzystać do zmiany zawartości bloków danych oraz zmodyfikować wartości obu kluczy dostępowych.

Organizacja pamięci karty zbliżeniowej MIFARE S50

Pamięć karty MIFARE 1k podzielona jest na 16  sektorów (0 - 15). Każdy sektor posiada 4  bloki pamięci o długości 16B. Pamięć dostępna do zapisu danych użytkownika znajduje się w trzech pierwszych blokach każdego sektora (0-3). Czwarty blok przeznaczony jest na konfigurację dostępu do danych sektora. Wyjątkiem jest pierwszy blok pierwszego sektora (blok nr 0 karty), który zawiera dane zapisywane na karcie podczas procesu produkcji (np. unikalny identyfikator UID).


Z założenia fabryczny blok pamięci jest przeznaczony tylko do odczytu, jednak warto wspomnieć o tym, iż istnieje możliwość zakupu kart MIFARE z programowalnym blokiem zerowymKarty MIFARE 1k z programowalnym UID umożliwiają sklonowanie posiadanej karty MIFARE S50. Więcej informacji na ten temat można przeczytać w artykule technicznym na naszym blogu.


Odwołując się do wybranych komórek pamięci korzystamy z numeracji kolejnych bloków bez podziału na sektory. Indeksy kolejnych bloków, w których mogą być zapisywane informacje prezentują się następująco:
1, 2 (sektor 0)
4,5,6 (sektor 1)
8,9,10 (sektor 2)
12,13,14 (sektor 3)
itd. aż do sektora nr 15

 

Podsumowując, karty zbliżeniowe MIFARE 1k posiadają 1024B pamięci (16 x 4 x 16B = 1024), z czego 752B jest dostępne do zapisu danych (2 x 16B + 15 x 3 x 16B = 752B).

Zapis danych na kartach NFC

Dane na kartach zbliżeniowych MIFARE zapisywane są w formie ciągów 16B w formacie szesnastkowym (HEX). Oznacza to, iż każdy z szesnastu zapisywanych bajtów może przyjąć wartości od 00 do FF (w notacji dziesiętnej odpowiada to wartościom od 0 do 255).

Konfiguracja mechanizmu bezpieczeństwa MIFARE

Wspomnieliśmy o tym, że dostęp do danych wybranego sektora wymaga znajomości wartości klucza dostępowego o długości 6B. Wiemy również, iż istnieje możliwość wykorzystania dwóch kluczy (keyA, keyB).


Wartości kluczy dostępowych muszą zostać zapisane w pamięci karty, dla każdego sektora niezależnie.  Temu właśnie służy czwarty blok (blok nr 3) każdego z szesnastu sektorów pamięci.


Blok pamięci odpowiadający za konfigurację dostępu do sektora jest takiej samej długości, jak każdy inny blok pamięci, czyli 16B. Pamięć bloku technicznego została zagospodarowana w następujący sposób:
6B – keyA
4B – konfiguracja dostępu
6B – keyB


Zagadnienie kluczy dostępowych (keyA, keyB) zostało wcześniej zaprezentowane i nie powinno wymagać dodatkowego wyjaśnienia. Co kryje się pod pojęciem konfiguracji dostępu?


Wskazane 4B opisują warunki dostępu do pamięci sektora przy pomocy zdefiniowanych kluczy, w szczególności pozwalają określić, który z kluczy będzie wykorzystywany do odczytu / zapisu danych.


Wartość konfiguracji dostępu wymaga wyliczenia na podstawie algorytmu producenta karty. Najbardziej popularna konfiguracja obejmuje:
FF 07 80 69 – odczyt i zapis przy pomocy obu kluczy
EF 07 81 69 – odczyt przy pomocy obu kluczy, brak możliwości zapisu
FE 17 80 69 – odczyt przy pomocy obu kluczy, zapis kluczem keyB
EF 06 91 69 – odczyt i zapis kluczem keyB
FE 16 90 69 – odczyt kluczem keyB, brak możliwości zapisu

Podsumowanie

W artykule przedstawiono podstawowe informacje, które powinny pozwolić rozpocząć pracę z kartami zbliżeniowymi MIFARE S50 1k. Warto wiedzieć, iż model programowania kart MIFARE S70 4k jest bardzo zbliżony.  Oczywiście karta 4k posiada więcej pamięci, z czego wynikają drobne różnice w sposobie jej organizacji.


Interesuje Cię zagadnienie programowania kart MIFARE S70 4k? Zachęcamy do pozostawienia komentarza. Chętnie poruszymy ten temat w jednym z kolejnych wpisów na naszym blogu.

 

Komentarze do wpisu (1)

8 stycznia 2017

Świetny wpis ! Bardzo dużo cennych informacji, dziękuję :)

do góry
Sklep jest w trybie podglądu
Pokaż pełną wersję strony
Google+
Sklep internetowy Shoper.pl