Rozdział 9 Karty elektroniczne (smart cards)



Pobieranie 177.97 Kb.
Strona1/9
Data02.05.2016
Rozmiar177.97 Kb.
  1   2   3   4   5   6   7   8   9

Rozdział 9



Karty elektroniczne (smart cards)


Rozwiązania natychmiastowe zobacz na stronie:

Instalowanie czytnika kart elektronicznych (smart card reader)

Konfigurowanie stacji rejestrowania kart elektronicznych (smart card enrollment station)

Wydawanie kart elektronicznych (smart cards)

Logowanie się za pomocą kart elektronicznych

Wdrażanie kart elektronicznych

Rozwiązywanie problemów związanych z kartami elektronicznymi

Zabezpieczanie stacji rejestrowania kart elektronicznych (smart card enrollment station)

Umieszczanie aplikacji na kartach elektronicznych

Zastosowanie pakietu Smart Card Software Development Kit

Zastosowanie interfejsów API firmy Microsoft

Zastosowanie interfejsu Java Card API 2.1

Zastosowanie standardu (OpenCard Framework — OCF)

W skrócie



Co to jest karta elektroniczna (smart card)?


Jak wyjaśniono to w rozdziale 6., karty elektroniczne (smart cards) są elementem Infrastruktury Klucza Publicznego (Public Key Infrastructure — PKI) systemu Windows 2000. Mogą być stosowane przy logowaniu interaktywnym, uwierzytelnianiu klienta i logowaniu zdalnym (remote logon). Ponadto stanowią zabezpieczony przed penetracją (tamper resistant) — waham się określić je jako odporne na penetrację (tamper proof) — środek do przechowywania danych, który umożliwia ochronę kluczy prywatnych (private keys) i innych danych osobowych oraz oddzielenie operacji zabezpieczonych (secure operations), takich jak zatwierdzanie klucza publicznego, od innych funkcji systemowych, mniej ważnych z punktu widzenia bezpieczeństwa systemu. Jednak główną zaletą kart elektronicznych jest ich przenośność (portability). Użytkownik karty elektronicznej ma łatwą, bezpieczną i wygodną metodę przenoszenia danych uwierzytelniających logowania (logon credentials) i innych informacji poufnych pomiędzy komputerami w pracy, w domu lub drodze.

Rozwiązania pokrewne zobacz na stronie

Stosowanie zabezpieczeń z kluczem publicznym w systemie Windows 2000

Karta elektroniczna (smart card) jest miniaturowym komputerem wbudowanym w płaską kartę plastikową, która wygląda jak standardowa karta kredytowa lub bankomatowa, a podstawową różnicą jest brak paska magnetycznego i wielokrotnie większa ilość przechowywanych danych. Obwody karty elektronicznej zasilane są z czytnika kart elektronicznych (smart cards reader), do którego karta jest włożona. Dane pomiędzy kartą elektroniczną a usługą lub aplikacją uruchomioną na komputerze wymieniane są przez łącze szeregowe (serial interface), a obsługiwane przez czytnik i związany z nim sterownik urządzenia (device driver).

Karta elektroniczna może być kartą z wpisaną wartością (stored value card), kartą zbliżeniową (contacless card) lub kartą czipową (Integrated Circuit Card — ICC). W systemie Windows 2000 zastosowano karty czipowe (ICC), za pomocą których można wykonywać zaawansowane operacje takie jak wymiana klucza podpisu cyfrowego (digital signature key exchange). Zamiast wprowadzania nazwy konta użytkownika i hasła, użytkownik karty elektronicznej loguje się do systemu Windows 2000, wkładając kartę elektroniczną do czytnika i wpisując numer PIN w taki sam sposób, jak przy korzystaniu z bankomatu.

Są dwa rodzaje kart elektronicznych — karty kontaktowe (contact smart cards) oraz karty bezkontaktowe (contactless smart cards). Te pierwsze mają na przedniej części złotą płytkę, nazywaną płytką łączącą (contact plate) lub modułem (module). Płytka ta ma osiem końcówek (contacts) i służy jako złącze pomiędzy układem scalonym wbudowanym w kartę elektroniczną a czytnikiem kart elektronicznych. Na rysunku 9.1 przedstawiono schemat takiej karty. Karty elektroniczne GemSAFE firmy Gemplus mają złącza (contacts) owalne, a karty elektroniczne Cryptoflex firmy Schlumberger — złącza prostokątne.

Karta elektroniczna bezkontaktowa razem z układem scalonym ma wbudowaną antenę, która umożliwia komunikację z odbiornikiem (antena — coupler unit) bez fizycznego kontaktu. Karty bezkontaktowe stosowane są wtedy, gdy konieczne jest bardzo szybkie przetwarzanie transakcji, np. pobieranie opłat za przejazd autostradą (toll collection). Obecnie karty takie nie są obsługiwane przez system Windows 2000.

Rozmiary i dane charakterystyczne kart elektronicznych określają normy ISO 7810 oraz ISO 7816.


Współdziałanie kart elektronicznych


Współdziałanie (interoperability) pomiędzy kartami od różnych dostawców jest warunkiem koniecznym, aby karty elektroniczne zostały szeroko zaakceptowane. W celu zapobiegania lub przynajmniej zmniejszenia niezgodności pomiędzy aplikacjami, kartami i czytnikami, konieczne jest opracowanie norm, które zostaną powszechnie przyjęte. Normy dotyczące kart elektronicznych (smart cards) opracowywane są na podstawie norm ISO 7816 dla kart z układem scalonym ze złączem (integrated circuit cards with contacts). Normy te dotyczą współdziałania (interoperability) na poziomie fizycznym, elektrycznym i protokołu łącza transmisji danych (data link protocol).

Rysunek 9.1. Karta elektroniczna (contact smart card)

W roku 1996 Eurocard, Masterplay i Visa (EMV) opracowały specyfikację kart elektronicznych, która jest adaptacją norm ISO 7816 i określa kilka dodatkowych typów danych i reguł kodowania na potrzeby świadczenia usług finansowych. Europejskie firmy telekomunikacyjne również zawarły normy ISO 7816 w swojej specyfikacji kart elektronicznych dla systemu GSM (Global System for Mobile Communications), umożliwiające identyfikowanie i uwierzytelnianie użytkowników telefonów komórkowych.

Chociaż wszystkie te specyfikacje (ISO 7816, EMV i GSM) szły w dobrym kierunku, to każda z nich albo określała warunki współpracy tylko na niskim poziomie, albo dotyczyła tylko określonych zastosowań i nie uzyskała powszechnej akceptacji. Takie zagadnienia związane ze współpracą (interoperability), jak interfejsy API niezależne od sprzętu, narzędzia dla programistów i współużytkowanie zasobów, nie zostały poruszone w żadnej z nich.


Grupa robocza PC/SC


Grupa robocza PC/SC (Personal Computer/Smart Card) została powołana w maju 1996 roku przez największe firmy komputerowe i producentów kart elektronicznych. Obecnie członkami tej grupy są: Bull, Gemplus, Hewlett Packard, IBM, Microsoft, Schlumberger, Siemens, Nixdorf Information Systems, Sun Microsystems i Toshiba.

Grupa ta została powołana, aby wskazać ograniczenia w istniejących do tej pory standardach, które utrudniają stosowanie kart z wbudowanym układem scalonym (ICC) w komputerach osobistych, ale nie zdołała właściwie określić warunków współdziałania (interoperability) pomiędzy produktami od różnych dostawców z punktu widzenia aplikacji pracujących na komputerze osobistym.

W szczególności członkowie grupy roboczej wskazali na potrzebę opracowania standardowych interfejsów programowych dla urządzeń sprzęgających oraz specyfikacji wspólnych interfejsów programowych (programming interface) i mechanizmów sterujących (control mechanizm) dla komputerów osobistych. Działania tej grupy również doprowadziły do wniosku, że opracowywane rozwiązania muszą obejmować, w takim zakresie, jak to tylko możliwe, istniejące urządzenia i aplikacje. Dalszym celem grupy jest opracowanie rozwiązań, które zaspokoją potrzeby wszystkich firm, działających w tej dziedzinie.

Specyfikacje opracowane przez grupę PC/SC są oparte na normach ISO 7816 i są zgodne ze specyfikacjami EMV i GSM. Mają one szerokie poparcie ze strony firm, działających w tej dziedzinie i podejmowane są wysiłki na rzecz uczynienia z nich w przyszłości norm (standards). Dokładniejsze informacje dotyczące grupy roboczej PC/SC i specyfikacji opracowanych przez jej członków można znaleźć pod adresem www.smartcardsys.com.


OpenCard Framework (OCF)


OpenCard Framework (OCF) jest to osnowa oprogramowania obiektowego (object oriented software framework) do korzystania z kart elektronicznych (smart cards), opracowana i rozwijana przez grupę OpenCard Consortium. Grupa ta została założona przez firmy Bull, Dallas Semiconductor, First Access, Gemplus, IBM, Network Computer Inc., Schlumberger, SCM Microsystems, Sun Microsystems, UbiQ i Visa International.

Standard OCF jest uważany za uzupełniający w stosunku do specyfikacji PC/SC i zawiera model strukturalny dwóch głównych usługodawców z branży kart elektronicznych:



W standardzie OCF ustalono dwa interfejsy:

  • interfejs programisty API wysokiego poziomu (high level API), który pozwala na ukrycie cech konkretnych urządzeń — kart elektronicznych lub (i) terminali kart elektronicznych — przed programistami aplikacji i usług,

  • wspólny interfejs usługodawcy, który umożliwia integrację urządzeń związanych z kartami elektronicznymi, pochodzących od różnych dostawców.

Standard OCF jest zgodny ze standardem PKCS #11 (Cryptoki), specyfikacją EMV, normami CEN EN726, ISO 7816 oraz specyfikacją grupy PC/SC. Specyfikacja EMV i norma CEN726 określają dane techniczne kart. Standard PKCS #11 jest standardem zabezpieczeń danych aplikacji. OCF zapewnia usługi CardServices jako interfejs API zgodny ze standardem PKCS #11, aby aplikacje mogły korzystać z żetonów sprzętowych (hardware tokens) jako jednego ze sposobów zabezpieczeń cyfrowych.

Specyfikacje PC/SC nie są istotnym elementem OCF, ale, jeśli tylko są obecne, mogą z nich korzystać interfejsy API OCF, przynajmniej gdy chodzi o czytnik kart elektronicznych. OCF i PC/SC nadal współpracują, aby osiągnąć pełną zgodność odnośnie samych kart elektronicznych. OCF może dostarczyć rozwiązań wielu problemów, na które napotykają producenci kart elektronicznych i programiści, tworzący aplikacje do obsługi tych kart i dlatego zamieszczono szczegółowy opis w części niniejszego rozdziału pod tytułem „Rozwiązania natychmiastowe”. Więcej informacji można znaleźć na stronie www.opencard.org.


Technologia Java Card


Karty Java Card są kartami elektronicznymi, na których można uruchomić programy zgodne ze specyfikacją Java Card API 2.1 opracowaną przez dział JavaSoft firmy Sun Microsystems. Stosując karty Javy, programiści aplikacji związanych z kartami elektronicznymi, korzystają z możliwości, jakie daje technologia obiektowa „Raz napisane, wszędzie uruchamiane” („Write once, run anywhere”) i zaawansowane narzędzia do tworzenia aplikacji. Specyfikacja Java Card API 2.1 została opracowana we współpracy z producentami kart elektronicznych (smart card manufacturers), firm wydających karty (issuers) oraz obsługujących karty elektroniczne (smart card associations). Do firm popierających technologię Java Card należą: Bull, Citicorp, De la Rue, First Union, Gemplus, Giesecke&Devrient, Hitachi, IBM Corporation, Mitsubishi Electric, Mondex, OKI, NTT Data Corporation, Motorola, Schlumberger, Texas Instruments, Toshiba, VeriFone i Visa.

Specyfikacja Java Card API 2.1 jest zgodna z normami ISO 7816-4 oraz 7816-5. Norma ISO 7816-4 dotyczy funkcji interfejsu Java Card API, takich jak dostęp do systemu plików i operacji wejście-wyjście. Norma ISO 7816-5 dotyczy identyfikatorów (identifiers) i konwencji nazewniczych obsługiwanych przez Java Card API.

Podczas gdy standard OpenCard Framework (OCF) jest zaimplementowany za pomocą programu w języku Java, działającego na komputerze lub terminalu komunikującym się kartą elektroniczną (smart card), to Java Card jest skróconą wersją Javy, zainstalowaną na samej karcie. Standard OCF może korzystać zarówno z kart elektronicznych typu Java Card (Java Card smart cards), jak i ze standardowych kart elektronicznych (standard smart cards), ale jeśli aplety Javy mają być zapisane bezpośrednio na karcie (tzw. cardlets), musi to być karta elektroniczna typu Java Card.

Interfejs Java Card API 2.1 umożliwia rozwiązanie problemów występujących przy pisaniu aplikacji korzystających z kart elektronicznych i zagadnienie to omówione zostanie szczegółowo w części niniejszego rozdziału pod tytułem „Rozwiązania natychmiastowe”.


Rozwiązania dostarczane przez firmę Microsoft


Firma Microsoft dostarcza interfejsy API, takie jak CryptoAPI, Scard COM i Win32 z rozszerzeniem zakresu funkcji o obsługę kart elektronicznych. Zagadnienie to omówiono w części niniejszego rozdziału pod tytułem „Rozwiązania natychmiastowe”.

Podejście firmy Microsoft do tego zagadnienia zawiera następujące elementy:



  • standardowy model interfejsu pomiędzy czytnikami kart elektronicznych i kartami elektronicznymi a komputerami,

  • interfejsy programowe API niezależne od urządzeń, uaktywniające aplikacje korzystające z kart elektronicznych,

  • narzędzia do tworzenia oprogramowania,

  • integracja ze wszystkimi systemami Windows.

Standardowy model interfejsu pomiędzy czytnikami kart elektronicznych i kartami a komputerem daje możność współpracy pomiędzy czytnikami i kartami od różnych producentów. Interfejsy programowe API niezależne od urządzeń izolują programistów od różnic występujących pomiędzy bieżącymi a przyszłymi implementacjami. Uniezależnienie się od urządzeń ogranicza również koszty tworzenia oprogramowania poprzez uniknięcie dezaktualizacji oprogramowania po wprowadzeniu zmian w sprzęcie.
  1   2   3   4   5   6   7   8   9


©absta.pl 2016
wyślij wiadomość

    Strona główna