Programowanie kart elektronicznych wykład 11: System zarządzania plikami
SYSTEM ZARZĄDZANIA PLIKAMI struktura, cykl życia, typy, nazwy, atrybuty SYSTEM ZARZĄDZANIA PLIKAMI 2
Plan System zarządzania plikami wprowadzenie struktura pliku cykl życia pliku typy plików nazwy plików wybieranie pliku budowa plików EF atrybuty plików SYSTEM ZARZĄDZANIA PLIKAMI - PLAN 3
System zarządzania plikami - Dawniej pamięć adresowana bezpośrednio (zapis w/odczyt z określonych miejsc pamięci) Obecnie kompletny hierarchiczny system zarządzania plikami z symbolicznym i niezależnym od sprzętu sposobem adresowania Brak interfejsu człowiek-maszyna Pliki adresowane szesnastobitowymi kodami Zaprojektowane, by w jak najmniejszym stopniu obciążać pamięć NVM (redundantność unikana w miarę możliwości) SYSTEM ZARZĄDZANIA PLIKAMI - WPROWADZENIE wprowadzenie 4
System zarządzania plikami Stosunkowo prosty system pozwala uniknąć nadmiernego wykorzystania NVM Usuwanie plików nie zawsze możliwe nie zawsze zwalnia zajmowaną pamięć Tworzenie i ładowanie plików w większości przypadków na etapie inicjowania lub personalizacji na późniejszych etapach ograniczenie operacji plikowych Ograniczona liczba cykli zapisu w pamięci NVM wymaga zastosowania specjalnych atrybutów SYSTEM ZARZĄDZANIA PLIKAMI - WPROWADZENIE wprowadzenie c.d. 5
Plan System zarządzania plikami wprowadzenie struktura pliku cykl życia pliku typy plików nazwy plików wybieranie pliku budowa plików EF atrybuty plików SYSTEM ZARZĄDZANIA PLIKAMI - PLAN 6
Struktura pliku Wszystkie informacje o pliku zawarte w nim samym Plik podzielony na dwie części: nagłówek z informacjami o strukturze pliku i warunkach dostępu ciało zawiera dane użytkownika, z nagłówkiem połączone przez wskaźnik Obydwie części przechowywane w odrębnych stronach pamięci (wzrost bezpieczeństwa): nagłówek rzadko modyfikowany, zatem nie istnieje ryzyko, że zapis danych użytkownika z błędem może wywołać zmianę atrybutów, która pozwoli na odczyt poufnych danych SYSTEM ZARZĄDZANIA PLIKAMI STRUKTURA PLIKU 7
Współdzielenie plików Możliwe w niektórych systemach operacyjnych Adresowanie ciała pliku za pomocą dwóch nagłówków Nagłówki umieszczone w różnych DF (różne aplikacje) Prawa dostępu muszą być identyczne w obydwu nagłówkach SYSTEM ZARZĄDZANIA PLIKAMI STRUKTURA PLIKU 8
Plan System zarządzania plikami wprowadzenie struktura pliku cykl życia pliku typy plików nazwy plików wybieranie pliku budowa plików EF atrybuty plików SYSTEM ZARZĄDZANIA PLIKAMI - PLAN 9
Diagram stanów i przejść wg. ISO/IEC 7816-9 plik nie istnieje create file (opcja 1) create file (opcja 2) create file (opcja 3) plik utworzony plik zainicjowany activate file activate file deactivate file plik używany (aktywowany) activate file plik używany (zdezaktywowany) terminate card terminate file terminate file SYSTEM ZARZĄDZANIA PLIKAMI CYKL ŻYCIA PLIKU plik zablokowany delete file karta zablokowana plik nie istnieje 10
Fazy życia plików 1. Tworzenie opcja 1 - utworzenie bez bezpośredniego wypełnienia pliku lub bez aktywacji polecenie ACTIVITE FILE musi być wykonane przed wybraniem pliku opcja 2 utworzenie pliku i wypełnienie go danymi początkowymi niezbędna aktywacja opcja 3 utworzenie z wypełnieniem danymi i aktywowaniem pliku 2. Używanie pliku odczyt, zapis itp. aktywowanie i dezaktywowanie (tymczasowe blokowanie pliku) 3. Zakończenie cyklu życia permanentne zablokowanie pliku EF lub DF usunięcie pliku EF SYSTEM ZARZĄDZANIA PLIKAMI CYKL ŻYCIA PLIKU 11
Plan System zarządzania plikami wprowadzenie struktura pliku cykl życia pliku typy plików nazwy plików wybieranie pliku budowa plików EF atrybuty plików SYSTEM ZARZĄDZANIA PLIKAMI - PLAN 12
Klasyfikacja plików wg ISO/IEC 7816-4 Pliki katalogów (folderów): MF master file DF dedicated file Pliki z danymi: EF elementary file SYSTEM ZARZĄDZANIA PLIKAMI TYPY PLIKÓW 13
Typy katalogów MF master file katalog główny domyślnie wybrany po resecie musi występować w systemie plików karty DF dedicated file występuje na niższych poziomach niż MF może zawierać inne katalogi i pliki nie ma ograniczeń na liczbę poziomów plików DF w praktyce nie spotyka się więcej niż 2 poziomy ADF application dedicated file wprowadzony w specyfikacji TS 102 221 jest katalogiem przeznaczonym na pliki aplikacji można go wybrać poleceniem SELECT z argumentem w postaci AID ADF łączy cechy DF i MF organizacyjnie inny niż MF, logicznie na tym samym poziomie co MF SYSTEM ZARZĄDZANIA PLIKAMI TYPY PLIKÓW 14
Typy plików z danymi EF elementary file zawierają dane użytkownika może być położony poniżej MF lub poniżej DF system operacyjny (a nie aplikacja określa wewnętrzną strukturę pliku) dzielą się na robocze i wewnętrzne SYSTEM ZARZĄDZANIA PLIKAMI TYPY PLIKÓW 15
Typy plików z danymi WEF working elementary file zawierają dane, z których korzysta terminal (odczyt/zapis) z założenia dane te nie są przewidziane do bezpośredniego użycia przez system operacyjny IEF internal elementary file pliki zawierające: dane dla systemu operacyjnego, dane dla działających aplikacji, klucze poufne, kody programów dostęp specjalnie chroniony przez system operacyjny obsługa wg ISO 7816-4 (dwa sposoby): a) traktowane jak ukryte pliki EF nie można wybrać, w pełni transparentnie obsługiwane przez OS (podobnie jak w MacOS) b) pliki mają nazwy (FID) i można je wybrać (podobnie jak w MS Windows) SYSTEM ZARZĄDZANIA PLIKAMI TYPY PLIKÓW 16
Pliki aplikacji Pliki z danymi użytkownika dla danej aplikacji są przechowywane w pojedynczym DF W kartach z pojedynczą aplikacją pliki aplikacji mogą być przechowywane w MF lub w DF poniżej MF W kartach z wieloma aplikacjami każda aplikacja wymaga odrębnego DF DF z aplikacją może zawierać własne DF (np. z różnymi wersjami językowymi) SYSTEM ZARZĄDZANIA PLIKAMI TYPY PLIKÓW 17
Plan System zarządzania plikami wprowadzenie struktura pliku cykl życia pliku typy plików nazwy plików wybieranie pliku budowa plików EF atrybuty plików SYSTEM ZARZĄDZANIA PLIKAMI - PLAN 18
Nazwy plików Adresowanie bezpośrednie: w nielicznych przypadkach (szczególnie pojedyncze aplikacje na KE o małej pamięci) oszczędność pamięci problemy przy rozbudowie oprogramowania problemy przy zmianie mikrokontrolera karty (inna przestrzeń adresowa) przewidywane zastosowanie w przyszłości wyłącznie karty pamięciowe Nazwy na poziomie logicznym: powszechnie stosowane lepsze i łatwiejsze w obsłudze przy rozbudowie oprogramowania lub zmianach sprzętowych przewiduje się, że za kilka lat będzie to jedyne rozwiązanie, jakie pozostanie dla kart z mikroprocesorem SYSTEM ZARZĄDZANIA PLIKAMI NAZWY PLIKÓW 19
MF DF EF FID FID nazwa katalogu FID SFI (krótki FID) Klasyfikacja nazw plików wg ISO/IEC 7816-4 SYSTEM ZARZĄDZANIA PLIKAMI NAZWY PLIKÓW 20
Identyfikator FID i reguły stosowania Dwubajtowy identyfikator zapisany szesnastkowo Reguły: Wszystkie pliki DF i EF w danym katalogu muszą mieć różne identyfikatory FID Zagnieżdżone katalogi (pliki DF) nie mogą mieć takich samych identyfikatorów FID Plik EF nie może mieć takiego samego identyfikatora jak katalog nadrzędny i jakikolwiek katalog podrzędny SYSTEM ZARZĄDZANIA PLIKAMI NAZWY PLIKÓW 21
Zarezerwowane identyfikatory FID 2F00 wg ISO 7816-4 plik katalogów EF DIR zawierający identyfikatory aplikacji (AID) i nazwy ścieżek dostępu dla powiązanych z nimi aplikacji 2F01 wg ISO 7816-4 plik EF ATR zawierający rozszerzenia ATR 2FFF wg ISO 7816-4 zarezerwowany dla wyboru plików za pośrednictwem nazwy ścieżki dostępu 3F00 wg ISO 7816-4, TS 51.011, TS 102 221, EMV dla MF FFFF wg ISO 7816-4 zarezerwowane dla przyszłych zastosowań SYSTEM ZARZĄDZANIA PLIKAMI NAZWY PLIKÓW 22
Nazwy predefiniowane Stosowane w niektórych systemach określają przeznaczenie pliku Przykład aplikacja GSM wg TS 51.011 bardziej znaczący bajt określa położenie pliku w drzewie katalogów 7Fxx pliki DF 2Fxx pliki EF położone w katalogu MF 6Fxx pliki EF położone w katalogach DF mniej znaczące bajty numerowane sekwencyjnie SYSTEM ZARZĄDZANIA PLIKAMI NAZWY PLIKÓW 23
SFI krótki identyfikator FID Używany do niejawnego wyboru pliku w bezpośrednim kontekście polecenia Opcjonalny dla plików EF (nie musi być przydzielony) Może być przekazany jako parametr polecenia Ma długość 5 bitów Wartości pomiędzy 1 a 30 0 odnosi się do bieżącego EF 31 zarezerwoawane SYSTEM ZARZĄDZANIA PLIKAMI NAZWY PLIKÓW 24
Nazwa DF W przyszłości przestrzeń adresowa dla dwubajtowych identyfikatorów FID może okazać się za mała w konsekwencji pliki DF oprócz identyfikatora FID posiadają nazwę pliku DF 1 do 16 bajtów wg ISO 7816-4 Nazwa DF może być dowolna Nazwa DF jest używana w połączeniu z identyfikatorem aplikacji AID SYSTEM ZARZĄDZANIA PLIKAMI NAZWY PLIKÓW 25
Identyfikator aplikacji AID Składa się z dwóch elementów: zarejestrowanego identyfikatora RID zastrzeżonego rozszerzenia identyfikatora aplikacji PIX Identyfikator RID nadawany wyłącznie jeden raz struktura: najbardziej znacząca tetrada D1 oznacza klasę rejestracji: A międzynarodowa D krajowa tetrady D2-D4 kod kraju wg ISO 3166 tetrady D5-D10 numer dostawcy usługi (nadany przez krajowy lub międzynarodowy organ rejestracyjny) niestety lista identyfikatorów RID jest poufna i nie może być upubliczniona Identyfikator PIX opcjonalny np. numer seryjny i numer wersji SYSTEM ZARZĄDZANIA PLIKAMI NAZWY PLIKÓW 26
Związek nazwy DF z identyfikatorem AID 1 do 16 bajtów Nazwa DF 5 do 16 bajtów AID AID unikalny w skali światowej identyfikator aplikacji RID zarejestrowany identyfikator (registered identifier) PIX zastrzeżone rozszerzenie identyfikatora aplikacji (proprietary application identifier extension) RID PIX 5 bajtów obowiązkowe 0 do 11 bajtów opcjonalne SYSTEM ZARZĄDZANIA PLIKAMI NAZWY PLIKÓW 27
Plan System zarządzania plikami wprowadzenie struktura pliku cykl życia pliku typy plików nazwy plików wybieranie pliku budowa plików EF atrybuty plików SYSTEM ZARZĄDZANIA PLIKAMI - PLAN 28
Wybieranie pliku Cecha obiektowo zorientowanego systemu zarządzania plikami plik przed dostępem musi być wybrany W danej chwili może być wybrany wyłącznie jeden plik (wybór nowego pliku unieważnia wcześniejszy wybór) Jedynym plikiem, który można wybrać w dowolnym momencie jest plik MF (posiada unikalny FID) Na pozostałe wybory nałożone są pewne ograniczenia, głównie dotyczące zasięgu wyboru SYSTEM ZARZĄDZANIA PLIKAMI WYBIERANIE PLIKU 29
Wybieranie katalogu (pliki MF i DF) Katalog MF można wybrać w dowolnym momencie (opcja polecenia SELECT lub użycie identyfikatora FID=3F00) Wybór MF zawsze wiąże się z przywróceniem stanu bezpośrednio po resecie Wybór katalogu DF możliwy za pośrednictwem: nazwy z dowolnego miejsca (nazwa zawiera unikalny AID) identyfikatora FID z nadrzędnego lub równorzędnego katalogu SYSTEM ZARZĄDZANIA PLIKAMI WYBIERANIE PLIKU 30
Wybór pliku EF Jawny polecenie SELECT z argumentem w postaci identyfikatora FID Niejawny SFI przekazywany jako parametr polecenia (bez konieczności wykonywania polecenia SELECT) ograniczony zasięg (pliki EF w bieżącym katalogu DF lub MF) polecenie musi oferować taką opcję zalety: uproszczona sekwencja poleceń, krótszy czas wykonania operacji SYSTEM ZARZĄDZANIA PLIKAMI WYBIERANIE PLIKU 31
Wybór za pomocą ścieżki dostępu Wg ISO 7816-4 Jawny wybór Ścieżka względna od bieżącego pliku lub ścieżka bezwzględna od MF Zalety: redukcja czasu na przejście do odpowiedniego pliku SYSTEM ZARZĄDZANIA PLIKAMI WYBIERANIE PLIKU 32
Plan System zarządzania plikami wprowadzenie struktura pliku cykl życia pliku typy plików nazwy plików wybieranie pliku budowa plików EF atrybuty plików SYSTEM ZARZĄDZANIA PLIKAMI - PLAN 33
Klasyfikacja struktur plików EF transparentne transparentne wykonywalne zorientowane rekordowo liniowe stałe liniowe zmienne cykliczne zorientowane na dane bazodanowe TLV SYSTEM ZARZĄDZANIA PLIKAMI BUDOWA PLIKÓW EF 34
Struktura pliku transparentnego Inne nazwy: binarny, amorficzny Brak wewnętrznej struktury (plik płaski) Dostęp (READ BINARY, WRITE BINARY, UPDATE BINARY) wymaga podania przesunięcia (offset) w bajtach względem początku pliku oraz liczby bajtów do odczytu (zapisu) Minimalny rozmiar 1 bajt, maksymalny nie zdefiniowany, ale ze względu na niektóre parametry nie większy niż 65 791 w krótkim formacie lub 98 303 w formacie rozszerzonym, w praktyce nie większe niż kilkaset bajtów Przeznaczenie: dane niestrukturalne, bardzo małe ilości danych Przykładowe zastosowania: numer ID, zdigitalizowane zdjęcie posiadacza SYSTEM ZARZĄDZANIA PLIKAMI BUDOWA PLIKÓW EF 35
Struktura liniowa stała Plik składa się ze zbioru rekordów o równej długości Swobodny dostęp do rekordów Dostęp do całych rekordów (do części jeszcze nie implementowany) Polecenia READ RECORD, WRITE RECORD, UPDATE RECORD Rekordy numerowane od 1 do max. 254 Minimalny rozmiar 1 rekord o długości 1 bajta Maksymalny rozmiar 254 rekordy o rozmiarze 254 bajtów Przykładowe zastosowanie książka telefoniczna SYSTEM ZARZĄDZANIA PLIKAMI BUDOWA PLIKÓW EF 36
Struktura liniowa zmienna Plik składa się ze zbioru rekordów o różnej długości Swobodny dostęp do rekordów Dostęp do całych rekordów (do części jeszcze nie implementowany) Polecenia READ RECORD, WRITE RECORD, UPDATE RECORD Rekordy numerowane od 1 do max. 254 Minimalny rozmiar 1 rekord, maksymalny 254 Rozmiar rekordu 1 do 254 bajtów Przykładowe zastosowanie książka telefoniczna Dodatkowa przestrzeń potrzebna na zapamiętanie rozmiarów rekordów Bardziej skomplikowane oprogramowanie do zarządzania systemem plików SYSTEM ZARZĄDZANIA PLIKAMI BUDOWA PLIKÓW EF 37
Struktura cykliczna Oparta na strukturze liniowej stałej Swobodny dostęp do rekordów Dostęp do całych rekordów (do części jeszcze nie implementowany) Plik wyposażony we wskaźnik wskazujący na ostatnio zapisany rekord Ostatnio zapisany rekord ma numer 1, przedostatnio 2 itd. Po osiągnięciu rozmiaru pliku, najstarszy rekord nadpisywany nową zawartością Polecenia READ RECORD, WRITE RECORD, UPDATE RECORD Rekordy numerowane od 1 do max. 254 Minimalny rozmiar 1 rekord, maksymalny 254 Rozmiar rekordu 1 do 254 bajtów Przykładowe zastosowanie logi SYSTEM ZARZĄDZANIA PLIKAMI BUDOWA PLIKÓW EF 38
Struktura pliku z obiektami danych Dane zapisywane w formacie TLV Oparta na strukturze liniowej zmiennej lub transparentnej Polecenia PUT DATA, GET DATA, SET DATA, RETRIVE DATA Przeznaczenie przechowywanie dużych wolumenów danych (do kilkudziesięciu MB) SYSTEM ZARZĄDZANIA PLIKAMI BUDOWA PLIKÓW EF 39
Struktura pliku bazodanowego Pliki przeznaczone do przechowywania danych z dostępem za pomocą SCQL Strukturę pliku trzeba samodzielnie dodefiniować ponieważ nie jest ustandaryzowana Plik zawiera dane, perspektywy, prawa dostępu, profile użytkowników SYSTEM ZARZĄDZANIA PLIKAMI BUDOWA PLIKÓW EF 40
Struktura pliku wykonywalnego Nie jest to odrębna struktura opiera się na strukturze transparentnej Zdefiniowana w standardzie EN 7826-3 Przeznaczona do przechowywania kodu programu Dostęp za pomocą tych samych poleceń, co w przypadku plików transparentnych Wada można zmodyfikować zawartość pliku wgrywając własne oprogramowanie np. z Trojanem SYSTEM ZARZĄDZANIA PLIKAMI BUDOWA PLIKÓW EF 41
Plan System zarządzania plikami wprowadzenie struktura pliku cykl życia pliku typy plików nazwy plików wybieranie pliku budowa plików EF atrybuty plików SYSTEM ZARZĄDZANIA PLIKAMI - PLAN 42
Atrybuty plików Definiują dodatkowe właściwości pliku Zależą od systemu operacyjnego i obszaru zastosowań Atrybuty dotyczą plików EF umieszczonych w pamięci NVM i potencjalnej niepewności wynikającej z możliwości pojawienia się problemu z zapisem Atrybuty nadawane są na ogół wyłącznie podczas tworzenia pliku i nie mogą być później zmieniane SYSTEM ZARZĄDZANIA PLIKAMI ATRYBUTY PLIKÓW 43
Atrybut WORM Stosowany zarówno w pamięciach EEPROM i Flash Dane mogą być zapisane w pliku wyłącznie raz, lecz mogą być wielokrotnie odczytywane Implementowany sprzętowo lub programowo Przykładowe zastosowania: zapis numeru seryjnego karty w trakcie personalizacji (dane właściciela, data ważności) Do zabezpieczenia wrażliwych danych przed modyfikacją Najlepiej zaimplementować sprzętowo SYSTEM ZARZĄDZANIA PLIKAMI ATRYBUTY PLIKÓW 44
Atrybut częstej modyfikacji danych Stosowany przede wszystkim w systemach GSM Ustawiany dla plików o często wykonywanej operacji zapisu do pamięci NVM, ale przy niedopuszczalnych błędach zapisu Implementowany przez zastosowanie wielu kopii ciała pliku Pojawienie się błędu zapisu wykrywane przez zastosowanie sumy kontrolnej (EDC), bieżące ciało pliku zostaje wyłączone z użycia i zastępowane jest przez jedną z kopii W zależności od liczby stosowanych kopii ciała pliku, mechanizm pozwala na zwiększenie żywotności NVM do 10 razy SYSTEM ZARZĄDZANIA PLIKAMI ATRYBUTY PLIKÓW 45
Atrybut stosowania EDC Stosowany dla plików z wrażliwymi danymi użytkownika Zabezpieczeniem przed błędami jest zastosowanie kodu EDC EDC pozwala wykryć błędy, zapasowe kopie ciała pliku pozwalają skorygować błędy Stosowane głównie w portmonetkach elektronicznych (błąd związany z utratą pieniędzy) SYSTEM ZARZĄDZANIA PLIKAMI ATRYBUTY PLIKÓW 46
Atrybut atomowości operacji zapisu Stosowany wtedy, gdy wymagane jest, aby operacja zapisu do pliku była traktowana jak operacja atomowa Powoduje co najmniej podwojenie czasu dostępu do pliku do operacji zapisu do pliku, dlatego nie powinien być stosowany dla wszystkich plików SYSTEM ZARZĄDZANIA PLIKAMI ATRYBUTY PLIKÓW 47
Atrybut współbieżnego dostępu Stosowany w wieloaplikacyjnych i wielokanałowych KE Aplikacje działające na różnych kanałach logicznych mają możliwość równoczesnego zapisu i/lub odczytu danych w tym samym pliku Wymagana jest jednak synchronizacja operacji, gdy wykonywane są również operacje zapisu, za co odpowiada odpowiednia aplikacja po stronie terminala Standardowo pełna współbieżność dostępu jest zabroniona, a wybranie pliku powoduje jego blokadę dla aplikacji działających na innych kanałach logicznych SYSTEM ZARZĄDZANIA PLIKAMI ATRYBUTY PLIKÓW 48
Atrybut wyboru transferu danych Stosowany w kartach hybrydowych Decyduje o wyborze interfejsu do transmisji danych (stykowy i/lub bezstykowy) Np. w portmonetce elektronicznej można ograniczyć operacje obciążeniowe do interfejsu bezstykowego, a operacje doładowania do interfejsu stykowego SYSTEM ZARZĄDZANIA PLIKAMI ATRYBUTY PLIKÓW 49
Atrybut szyfrowania Stosowany w niektórych systemach operacyjnych Atrybut powoduje szyfrowanie pliku symetrycznym algorytmem kryptograficznym Klucz generowany na karcie i nigdy nie przekazywany na zewnątrz Na zewnątrz plik z tym atrybutem wygląda tak samo jak plik bez tego atrybutu, z tą różnicą, że dane są zaszyfrowane w sposób transparentny dla świata zewnętrznego, a jedyną oznaką stosowania tego atrybutu jest wydłużony czas dostępu Przeznaczony głównie dla plików, które nawet po udanym ataku nie powinny być dostępne w postaci niezaszyfrowanej SYSTEM ZARZĄDZANIA PLIKAMI ATRYBUTY PLIKÓW 50
Dziękuję za uwagę! SYSTEM ZARZĄDZANIA PLIKAMI. SYSTEMY OPERACYJNE KE CZ.1 dr hab.. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 51