r-09.05.doc

(623 KB) Pobierz
Rozdział 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 (smart cards)

Rozwiązywanie problemów związanych z kartami elektronicznymi (smart card)

Zabezpieczanie stacji rejestrowania kart elektronicznych (smart card enrollment station)

Umieszczanie aplikacji na kartach elektronicznych (smart cards)

Zastosowanie pakietu Smart Card Software Development Kit

Zastosowanie interfejsów API firmy Microsoft

Zastosowanie interfejsu Java Card API 2.1

Zastosowanie standardu (OpenCard FFramework — 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. Karty elektroniczne mMogą być stosowane przy logowaniu interaktywnym, uwierzytelnianiu klienta i logowaniu zdalnym (remote logon). Ponadto sStanowią 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 (smart card) jest ich przenośność (portability). Użytkownik karty elektronicznej (smart card) 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 na 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 oraz 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 ych pomiędzy kartą elektroniczną (smart card) 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ą (iIntegrated cCircuit cCard -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ą (smart card) do czytnika i wpisując numer PIN w taki sam sposób, jak przy korzystaniu z bankomatu.

Są dwa rodzaje kart elektronicznych (smart cards) — karty kontaktowe (contact smart cards) oraz karty bezkontaktowe (contactless smart cards). Karty kontaktowe (contact 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ą (smart card) a czytnikiem kart elektronicznych (smart card reader). Na rysunku 9.1 przedstawiono schemat takiej karty elektronicznej. Karty elektroniczne (smart cards) GemSAFE firmy Gemplus mają złącza (contacts) owalne, a karty elektroniczne Cryptoflex firmy Schlumberger mają złącza prostokątne.

Karta elektroniczna (smart card) bezkontaktowa razem z układem scalonym ma wbudowaną antenę, która . Antena umożliwia komunikację z odbiornikiem (antennaantena/ coupler unit) bez fizycznego kontaktu. Karty bezkontaktowe stosowane są wtedy, gdy konieczne jest bardzo szybkie przetwarzanie transakcji, na przykład pobieranienp. 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 elektronicznej zostały szeroko zaakceptowane. Aby W celu zapobieganiaiec 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ąceych identyfikowanie i uwierzytelnianie użytkowników telefonów komórkowych.

Chociaż wszystkie te specyfikacje (ISO 7816, EMV i GSM) były krokamiszł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 (pPersonal cComputer/sSmart cCard) 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. Członkowie grupy wnoszą duże

w zakresie sprzętu i oprogramowania komputerowego oraz projektowania kart z układem scalonym (ICC systems). wnoszą duże

co?

.

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 (Interface dDevices - o IDF

nie wiem, czego skrótem jest "F"

) oraz specyfikacji wspólnych interfejsów programowych (programming interface) i mechanizmów sterujących (control mechanizm) dla komputerów osobistych. Prace 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 (smart card):

·         Pprogramistów aplikacji i usług,

·         dDostawców kart i terminali.

 

W standardzie OCF ustalono dwa interfejsy:

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

·         Wwspó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 jeśli 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 Cardto kartyami elektronicznymie, 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, a Card programiści aplikacji związanych z kartami elektronicznymi, korzystają z możliwości, jakie daje technologia obiektowa „Raz napisane, wszędzie uruchamiane" ("Write- oOnce, rRun Aanywhere") 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 które 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 okrojoną skróconą wersją Javy, zainstalowaną na samej karcie. Standard OpenCard Framework 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, ...

Zgłoś jeśli naruszono regulamin