Inteligentne karty i Java

Karty inteligentne na świecie

Karty z paskiem magnetycznym praktycznie wyszły z użycia w Europie Zachodniej, natomiast nadal są popularne w USA i innych krajach.

Organizacje wydające karty dążą do przejścia na bardziej bezpieczne karty inteligentne. Problemy techniczne i standaryzacyjne utrudniały do tej pory ten proces, jednakże nowe rozwiązania wykorzystujące język i platformę Java pozwolą go przyspieszyć.

Liczba wydawanych i sprzedawanych kart inteligentnych wzrasta bardzo szybko: w 1994 r. było w użyciu ok. 400 mln kart. Oczekuje się, że w 2000 r. będzie ich ok. 4 mld (wg oceny francuskiej firmy GemPlus, jednego z największych dostawców kart). Najwięcej kart inteligentnych wydano i sprzedano we Francji i Niemczech. Na świecie jest obecnie ok. 10 liczących się producentów, głównie francuskich.

Ograniczenia kart inteligentnych

Karty inteligentne - mimo niewątpliwych zalet - w stosunku do kart z paskiem magnetycznym mają istotne ograniczenia.

Każdy producent dostarcza własne rozwiązanie technologiczne ze specjalnym procesorem, utrudniające i wymianę informacji między systemem a kartą, i uaktualnianie aplikacji na karcie.

Rzadko się zdarza, aby karty jednego producenta były dostosowane do urządzeń odczytujących innego producenta.

Specjalizowany procesor wymaga programowania w asemblerze, gdyż tylko taki ciasno upakowany i mocno zoptymalizowany kod można umieścić na karcie. W efekcie opracowanie aplikacji trwa bardzo długo, także z powodu braku programistów specjalizujących się w asemblerze unikalnego procesora.

JavaCard API

JavaCard API to podstawa najmniejszej wirtualnej maszyny Java. Specyfikacja umożliwia uruchamianie Javy na 8-bitowym procesorze z pamięcią RAM o pojemności 256 bajtów (taki jest typowy rozmiar pamięci tzw. mikrokontrolerów 8-bitowych, stosowanych w przemyśle do kontroli procesów przemysłowych), 8 KB pamięci stałej ROM (zawierającej m.in. wirtualną maszynę Java) oraz 14 KB pamięci stałej elektrycznie wymazywalnej i reprogramowalnej EEPROM (do zapamiętywania apletów Java).

Specyfikacja JavaCard API pojawiła się w listopadzie 1996 r., w ulepszonej wersji 2.0 zaś w lipcu 1997 r. zyskała poparcie wszystkich liczących się dostawców kart inteligentnych, w tym Bull/CP8, GemPlus i Schlumberger. Ci dwaj ostatni dostawcy mają ogółem ok. 75% rynku kart inteligentnych.

Opracowano już pierwsze wbudowane maszyny wirtualne Java o bardzo małych wymaganiach co do rozmiaru pamięci dla określonych typów procesorów i mikrokontrolerów. GemPlus i Schlumberger oferują zestawy sprzętowo-programowe do tworzenia aplikacji dla kart inteligentnych z wbudowaną maszyną wirtualną Java.

Aplety i aplikacje do używania z kartami inteligentnymi Java można opracować za pomocą dowolnego pakietu narzędziowego Java (Borland JBuilder, Symantec CafePro) i dokładnie przetestować w warunkach laboratoryjnych na PC. Następnie przystosowuje się je do użycia w karcie przez precyzyjną optymalizację kodu (wykonuje to specjalizowany optymalizator dostarczany przez producenta karty).

Ładowanie apletów i uaktualnionych wersji aplikacji do karty jest całkowicie bezpieczne, gdyż wykonuje się je pod kontrolą maszyny wirtualnej Java. Nie wymaga obecności użytkownika u wystawcy karty, może następować w dowolnym punkcie połączonym on-line z systemem obsługi karty. Mamy więc zawsze do dyspozycji kartę ważną, aktualną i bezpieczną (pierwsza próba jej użycia w przypadku kradzieży kończy się załadowaniem aplikacji, kończącej jej ważność).

Maszyna wirtualna Java pozwala na używanie jednej karty do różnych celów (np. jako dowodu tożsamości, karty usług medycznych i prawa jazdy) oraz utajnianie informacji przed nie upoważnionym dostępem (informacje o zakupach w sieci sklepów Geant nie będą dostępne dla kas obsługi klienta w Leclercu).


TOP 200