Strona główna > Przedmiot: Programowanie kart elektronicznych

Przedmiot: Programowanie kart elektronicznych

Program wykładu obejmuje następujące zagadnienia:
Geneza kart elektronicznych. Przegląd podstawowych zastosowań KE. Rola standaryzacji. Rodzaje kart (wypukłe, z paskiem magnetycznym, pamięciowe stykowe i bezstykowe, procesorowe stykowe i bezstykowe, wielomegabajtowe, optyczne). Cechy fizyczne KE (formaty, styki, materiały, cechy zabezpieczające, moduły z chipem). Cechy elektryczne KE (styki, napięcie i prąd zasilania, zegar, transmisja danych, sekwencje aktywujące i dezaktywujące). Mikrokontrolery KE (technologie półprzewodnikowe, typy procesorów, typy pamięci, moduły komunikacyjne, zegar i inne moduły). Struktury danych. Kodowanie danych alfanumerycznych. Notacja SDL. KE jako automat skończony. Kody wykrywające i korygujące błędy. Kompresja danych. Kryptologia (symetryczne algorytmy szyfrujące: DES, AES, IDEA, COMP128, Milanage; asymetryczne algorytmy szyfrujące: RSA, DSS, algorytm krzywych eliptycznych; wielokrotne szyfrowanie; wyrównywanie danych; uwierzytelnianie komunikatów i kryptograficzna suma kontrolna), funkcje haszujące, generowanie i testowanie liczb losowych, uwierzytelnianie kart i czytników (jednostronne symetryczne, dwustronne symetryczne, statyczne asynchroniczne, dynamiczne asynchroniczne), podpisy cyfrowe, certyfikaty, zarządzanie kluczami, uwierzytelnianie osób. Komunikacja z kartą (komunikaty: ATR, PPS, APDU). Bezpieczna transmisja danych pomiędzy kartą a czytnikiem. Kanały i protokoły logiczne. Łączenie terminali z systemami wyższego poziomu. Transmisja danych dla kart stykowych (warstwa transportowa, protokoły kart pamięci, protokoły transmisyjne T=0 i T=1, protokoły USB, MMC i SWP). Transmisja danych dla kart bezstykowych (sprzężenia indukcyjne i pojemnościowe, transfer zasilania, transfer danych, NFC, karty bezstykowe bliskiego i dalekiego zasięgu, karty zbliżeniowe). Programowanie KE (polecenia: plikowe, odczytu i zapisu, wyszukiwania, uwierzytelniania osób i urządzeń, kryptograficzne, zarządzania plikami i aplikacjami, kompletujące, testowania sprzętu, bazodanowe, transmisji danych). Polecenia związane z zastosowaniem karty (dla portmonetek elektronicznych, dla kart kredytowych i debetowych). Zarządzane plikami karty elektronicznej (struktura pliku, cykl życia pliku, typy plików, nazwy plików, wybór pliku, struktura pliku EF, warunki dostępu, atrybuty). Systemy operacyjne KE (podstawowe założenia i funkcje, przetwarzanie poleceń, zasady projektowania i implementacji, kompletowanie karty, organizacja i zarządzanie pamięcią, zarządzanie plikami, dostęp do zasobów, operacje atomowe, wielozadaniowość, wydajność, zarządzanie aplikacjami, kody narodowe). Typy systemów operacyjnych KE: JavaCard, Multos, BasicCard, Linux, Small-OS. Produkcja i zapewnienie jakości kart elektronicznych. Bezpieczeństwo kart elektronicznych (typy ataków, historia ataków, ataki i obrona w trakcie projektowania, produkcji i użytkowania). Czytniki kart elektronicznych (cechy fizyczne i elektryczne, interfejs użytkownika, interfejs aplikacji, bezpieczeństwo). Zastosowania KE w: systemach płatności, systemach telekomunikacyjnych, systemach służby zdrowia, systemach transportu, identyfikacji, paszportach, w zabezpieczeniach IT. Projektowanie aplikacji.

Zajęcia laboratoryjne prowadzone są w formie 2-godzinnych ćwiczeń, odbywających się w laboratorium. Studenci wykonują kolejne ćwiczenia praktyczne zapoznając się z różnymi technologiami. Część ta kończy się testem sprawdzającym zdobytą wiedzę. Druga część związana jest z realizacją projektu praktycznego lub teoretycznego. Program laboratorium obejmuje następujące zagadnienia:
Obsługa następujących typów kart elektronicznych: JavaCard, SIM, BasicCard, .NET oraz legitymacja studencka. Szyfrowanie. Obsługę i przechowywanie na karcie kluczy szyfrujących i podpisu cyfrowego. Języki i techniki programowania kart elektronicznych. Zastosowania kart elektronicznych. Obsługę kodów kreskowych: kodowanie, wydruk, odczyt. Technologia RFID odczyt i zapis znaczników RFID. Ćwiczenia z zakresu technologii NFC.