Mirosław Szymański, styczeń 2003r. | Ostatnia aktualizacja 9.01.2003r. |
Pomimo skomplikowanego działania niektórych kart elektronicznych, powinny być one traktowane przede wszystkim jako wygodny nośnik danych.
Karty:
Cyberflex Access i M-Card
Spośród wymienionych rodzajów kart największe bezpieczeństwo zapewniają karty inteligentne, które zostaną opisane w dalszej części tego dokumentu.
Początek
Karta musi zawierać pamięć ROM, w której zapisany jest system operacyjny
(tzw. maska). Maska mikroprocesora określa sposób zarządzania
i dostęp do różnych obszarów pamięci.
Pamięć zazwyczaj podzielona jest na trzy obszary:
Komunikacja odbywa się drogą radiową.
Karty bezstykowe mogą być aktywne (posiadające własne zasilanie
w postaci baterii) i pasywne (mają wbudowaną cewkę pobudzaną przez
zewnętrzne pole elektromagnetyczne, stosowane w kartach o małym zasięgu).
Zalety systemów kart bezstykowych:
Zasięg działania kart: w zależności od typu może wahać się od
kilku milimetrów do kilku metrów.
Częstotliwość pracy: od częstotliwości niskich LF, wysokich HF do
mikrofal. Wybór częstotliwości wykorzystywanej do transmisji uzależniony
jest od wymaganego zasięgu i szybkości transmisji danych.
Aby zwiększyć szybkość działania algorytmów kryptograficznych, często
procesor główny karty wspomagany jest przez specjalistyczny koprocesor
zaprojektowany do realizacji odpowiednich operacji matematycznych, np. FAMEX
(Fast Accelerator for Modular Exponentiation eXtended).
Brak zegara czasu astronomicznego nie pozwala na implementację
niektórych protokołów kryptograficznych.
Początek
Dzięki takiemu rozwiązaniu klucz prywatny jest bezpieczny, ponieważ nigdy
nie zostaje wysłany poza kartę. Jednocześnie system ma pewność, że osoba
próbująca się zalogować jest rzeczywiście do tego uprawniona.
Wady zabezpieczenia numerem PIN:
Alternatywy:
Szczególnie metoda wykorzystująca odcisk palca ma dużą szansę na
upowszechnienie. Odpowiednie czytniki dostępne są w cenie poniżej $300.
Wspomniane alternatywne sposoby zabezpieczeń mogą współpracować
z technologią Smart Card. Np. wzorzec odcisku palca może zostać zapisany
na karcie, dzięki czemu czytnik musi dokonać porównania tylko dwóch wzorców
odcisków (wczytanego z karty i pobranego od użytkownika), zamiast
porównywania ze wszystkimi wzorcami z bazy danych uprawnionych użytkowników.
Początek
Programista ma do wyboru kilka API:
W systemie Linux aplikacja użytkownika używa PC/SC API do komunikacji
z pośredniczącym menedżerem zasobów (middleware resource manager),
który natomiast komunikuje się z czytnikami używając sterowników urządzeń.
Początek
3. Budowa.
3.1 Procesor.
3.2 Pamięć.
Karta może zawierać kilka typów pamięci:
Początek
4. Komunikacja z czytnikiem.
4.1 Karty stykowe.
Są to najbardziej popularne karty. Ich czytnik ma prostą konstrukcję
mechaniczną, sprowadzającą się do zespołu metalizowanych, pokrytych złotem
styków. Karty te muszą być precyzyjnie umieszczane w czytniku. Poprzez styki
odbywa się komunikacja oraz zasilanie układów elektronicznych karty.
Przykładowy czytnik.4.2 Karty bezstykowe.
Opracowane zostały w roku 1978. Stosowane są w sytuacjach, gdy operacje muszą
być przeprowadzane bardzo szybko, na przykład w bramkach wejściowych, przez
które przechodzi dużo osób (przykładem karty bezstykowej jest warszawska
karta miejska).
5. Usługi zapewniane przez karty inteligentne.
Początek
6. Kryptografia.
W różnych modelach kart wykorzystuje się m.in. następujące systemy zabezpieczeń:
Np. w systemie SC-400 wykorzystywany
jest klucz o długości 163 bitów, co daje bezpieczeństwo porównywalne
z klasycznym kryptosystemem RSA/DSA o kluczach długości 1024 bitów,
7. System plików Smart Card.
Karty zgodne ze standardem ISO 7816-4 posiadają UNIX'o-podobny system plików
o strukturze drzewa (SmartCard Filesystem - SCFS).
* Master File (MF) - korzeń drzewa katalogów (nazwa: 3F.00)
,
* Dedicated File (DF) - odpowiednik katalogu
* Elementary File (EF) - plik z danymi
Przykład struktury katalogów karty M-Card.
8. Sposoby wykorzystania ICC w systemach operacyjnych.
Większość systemów operacyjnych (np. Windows, Linux, Solaris) pozwala stosować
ICC do następujących celów:
8.1 Logowanie przy pomocy klucza publicznego.
Działanie (technika challenge-response):
8.2 Bezpieczny E-mail.
8.3 Autentykacja klienta
Początek
* bezpieczne miejsce do przechowywania klucza prywatnego,
* narzędzie kryptograficzne do złożenia cyfrowego podpisu
lub do bezpiecznej wymiany kluczy.
9. Zamiast numeru PIN.
Wpisanie numeru PIN jest powszechną metodą ograniczenia dostępu do pewnych
zasobów przez osoby do tego nieuprawnione (np. wejście do budynku / pomieszczenia)
10. Tworzenie aplikacji obsługujących ICC.
Powszechnie używanymi API (Application Programmers Interface) do obsługi
czytników kart, są (jednocześnie są to nazwy głównych standardów kart):
10.1 Windows.
Oprogramowanie potrzebne programiście do używania ICC Smart Card Software
Development Kit zintegrowane jest z Microsoft Platform SDK.
Pakiet Platform SDK dostępny jest z
http://msdn.microsoft.com/developer/sdk.
10.2 Linux.
W systemie Linux zaimplementowano podzbiór PC/SC nazwany PC/SC lite.
Dostępny jest on na stronie MUSCLE:
http://www.linuxnet.com/middle.html
, natomiast sterowniki do czytników znajdują się na
http://www.linuxnet.com/sourcedrivers.html.
11. Dodatkowe informacje.
Początek
Super SmartCard
Karta (wraz z programatorem) pozwalająca na odbieranie darmowych
programów (Free To Air - FTA)
np. na dekoderach Philips DSB3010, DSX6010 wykorzystywanych w Polsce przez
nieistniejącą już platformę cyfrową WIZJA TV
12. Adresy.
Początek