Wprowadzenie do pierścienia Java

Kolumna z tego miesiąca jest podzielona na dwie części. Pierwsza część, zawarta w tym artykule, zawiera historię pierścienia Java i technologię użytą do jego budowy, a także krótkie omówienie przydatności iButton do zastosowań związanych z bezpieczeństwem i innych aplikacji. Druga część pokazuje, jak używać Java Card 2.0 API z Java iButton i daje czytelnikowi bardzo wczesne spojrzenie na to, jak zaprojektować aplikację, pobrać ją, a następnie komunikować się z aplikacją działającą na karcie Java Card.

Jest w szczegółach

Java Ring to niezwykle bezpieczny token elektroniczny oparty na języku Java z działającym nieprzerwanie zegarem czasu rzeczywistego i wytrzymałym opakowaniem, odpowiedni do wielu zastosowań. Klejnotem pierścienia Java jest Java iButton - zaufany mikrokomputer oparty na jednym milionie tranzystorów z jednym chipem i potężną wirtualną maszyną Java (JVM), umieszczony w wytrzymałej i bezpiecznej obudowie ze stali nierdzewnej. Zaprojektowany tak, aby był w pełni zgodny ze standardem Java Card 2.0 (więcej informacji na temat Java Card 2.0 można znaleźć w zeszłomiesięcznym wydaniu Java Developerkolumna „Understanding Java Card 2.0”) procesor jest wyposażony w szybki, 1024-bitowy modułowy wykładnik do szyfrowania RSA, dużą pojemność pamięci RAM i ROM oraz niezmienny zegar czasu rzeczywistego. Zapakowany moduł ma tylko jeden styk elektryczny i uziemienie, zgodnie ze specyfikacją magistrali 1-Wire Dallas Semiconductor. Wspomagana litem nieulotna pamięć SRAM zapewnia wysoką prędkość odczytu / zapisu i niezrównaną odporność na manipulacje dzięki niemal natychmiastowemu czyszczeniu całej pamięci po wykryciu odpuszczania, co jest funkcją znaną jako szybkie zerowanie. Integralność danych i funkcja zegara są utrzymywane przez ponad 10 lat. Obudowa ze stali nierdzewnej o średnicy 16 milimetrów mieści chipy o większych rozmiarach potrzebne do 128 kilobajtów szybkiej, nieulotnej statycznej pamięci RAM. Małe i niezwykle wytrzymałe opakowanie modułu pozwala na przymocowanie go do wybranego akcesorium, dopasowanego do indywidualnego stylu życia, takiego jak brelok do kluczy, portfel, zegarek, naszyjnik, bransoletka lub pierścionek na palec.

Tło historyczne

Latem 1989 roku firma Dallas Semiconductor Corp. wyprodukowała pierwsze urządzenia pamięci w obudowie ze stali nierdzewnej, wykorzystujące protokół komunikacyjny Dallas Semiconductor 1-Wire. Do 1990 roku protokół ten został udoskonalony i zastosowany w wielu niezależnych urządzeniach pamięci. Pierwotnie nazywane urządzeniami „pamięci dotykowej”, zostały później przemianowane na „iButtons”. Zapakowane jak baterie iButtons mają tylko jeden aktywny styk elektryczny na górnej powierzchni, a powłoka ze stali nierdzewnej służy jako uziemienie.

Dane mogą być odczytywane z pamięci lub zapisywane w pamięci szeregowo za pomocą prostego i niedrogiego adaptera portu szeregowego RS232C, który zapewnia również moc wymaganą do wykonywania operacji we / wy. Pamięć iButton może być odczytywana lub zapisywana za pomocą chwilowego kontaktu z receptorem „Blue Dot” dostarczonym przez adapter. Gdy nie jest podłączony do adaptera portu szeregowego, dane pamięci są przechowywane w nieulotnej pamięci o dostępie swobodnym (NVRAM) dzięki dożywotnemu zasilaczowi litowemu, który zachowa zawartość pamięci przez co najmniej 10 lat. W przeciwieństwie do elektrycznie wymazywalnej programowalnej pamięci tylko do odczytu (EEPROM), pamięć NVRAM iButton może być wymazywana i przepisywana tak często, jak to konieczne, bez zużywania się. Może być również kasowany lub przepisywany z dużą szybkością typową dla pamięci półprzewodników z komplementarnym tlenkiem metalu (CMOS),bez konieczności czasochłonnego programowania pamięci EEPROM.

Od czasu ich wprowadzenia, urządzenia pamięci iButton zostały wdrożone w ogromnych ilościach jako wytrzymałe przenośne nośniki danych, często w trudnych warunkach środowiskowych. Wśród zastosowań na dużą skalę są przewoźnicy tranzytowi w Stambule w Turcji; jako nośniki dokumentacji serwisowej po bokach ciężarówek Ryder; oraz jako identyfikatory skrzynek pocztowych w przedziałach pocztowych zewnętrznych skrzynek pocztowych US Postal Service. Są noszone jako kolczyki przez krowy w Kanadzie do przechowywania rekordów szczepień i są używane przez pracowników rolnych na wielu obszarach jako wytrzymałe substytuty kart czasu.

Linia produktów iButton i jej liczne zastosowania są opisane w witrynie sieci Web iButton firmy Dallas Semiconductor, która jest wymieniona w sekcji Zasoby. Każdy produkt iButton jest produkowany z unikalnym 8-bajtowym numerem seryjnym i daje gwarancję, że żadne dwie części nigdy nie będą miały tego samego numeru. Do najprostszych pastylek iButtons należą urządzenia pamięci, które mogą przechowywać pliki i podkatalogi oraz mogą być odczytywane i zapisywane jak małe dyskietki. Oprócz tego istnieją iButtons z obszarami plików chronionymi hasłem dla aplikacji bezpieczeństwa, iButtons, które zliczają, ile razy zostały przepisane w celu zabezpieczenia transakcji finansowych, iButtons z czujnikami temperatury, iButtons z ciągle działającymi zegarami daty / czasu, a nawet iButtons zawierające potężne mikroprocesory.

Zabezpieczenie poczty

Od ponad 10 lat Dallas Semiconductor projektuje, produkuje i sprzedaje również linię wysoce bezpiecznych mikroprocesorów, które są używane w deszyfratorach telewizji satelitarnej, bankomatach, terminalach w punktach sprzedaży i innych podobnych zastosowaniach wymagających zabezpieczeń kryptograficznych i wysokich odporność na ataki hakerów. Specyfikacje urządzeń zabezpieczających pocztę w Stanach Zjednoczonych (USPS), opracowane przez amerykańską pocztę pocztową (USPS), mające na celu umożliwienie drukowania ważnych przesyłek pocztowych w Stanach Zjednoczonych na dowolnym komputerze PC, były pierwszą okazją do połączenia dwóch obszarów specjalizacji, gdy w iButton zaprojektowano bezpieczny mikroprocesor.

Powstały produkt, nazwany Crypto iButton , łączy w sobie wysoką wydajność procesora, szybkie prymitywy kryptograficzne oraz wyjątkową ochronę przed atakiem fizycznym i kryptograficznym. Na przykład, duży modułowy mechanizm potęgowania liczb całkowitych może wykonać 1024-bitowe modularne potęgowanie z 1024-bitowym wykładnikiem w znacznie mniej niż sekundę. Możliwość wykonywania dużych wykładników modularnych w postaci liczb całkowitych z dużą szybkością jest kluczowa dla szyfrowania RSA, wymiany kluczy Diffie-Hellmana, standardu podpisu cyfrowego (FIPS 186) i wielu innych nowoczesnych operacji kryptograficznych.

Umowa między Dallas Semiconductor i RSA Data Security Inc. zapewnia opłaconą licencję każdemu, kto używa Crypto iButton do szyfrowania RSA i podpisów cyfrowych, dzięki czemu nie jest wymagane dalsze licencjonowanie technologii szyfrowania RSA. Wysokie bezpieczeństwo zapewnia możliwość niezwykle szybkiego usunięcia zawartości NVRAM. Ta funkcja, szybkie zerowanie, jest wymagana w przypadku urządzeń o wysokim poziomie bezpieczeństwa, które mogą być narażone na ataki hakerów. Ze względu na wysokie bezpieczeństwo, Crypto iButton ma zdobyć certyfikat bezpieczeństwa FIPS 140-1 wydany przez National Institute of Standards and Technology (NIST).

Specjalny system operacyjny został zaprojektowany i przechowywany w pamięci ROM Crypto iButton do obsługi kryptografii i ogólnych transakcji finansowych - takich jak te wymagane przez program pocztowy. Chociaż oprogramowanie układowe E-Commerce zaprojektowane dla tej aplikacji nie jest maszyną wirtualną Java, miało kilka punktów podobieństwa do języka Java, w tym projekt zorientowany obiektowo i interpreter kodu bajtowego do interpretowania i wykonywania niestandardowego języka skryptów e-commerce firmy Dallas Semiconductor. Kompilator został również napisany w celu skompilowania reprezentacji języka wysokiego poziomu języka skryptowego do postaci kodu bajtowego, który może być zinterpretowany przez maszynę wirtualną E-Commerce. Chociaż oprogramowanie sprzętowe E-Commerce było przeznaczone głównie dla aplikacji USPS,oprogramowanie sprzętowe obsługuje wiele ogólnych modeli handlu elektronicznego, które są odpowiednie dla wielu różnych zastosowań. Oprogramowanie układowe E-Commerce obsługuje również protokoły kryptograficzne do bezpiecznej wymiany informacji, takie jak Simple Key-Management for Internet Protocol (SKIP) opracowany przez Sun Microsystems Inc. E-Commerce iButton i SDK do programowania są szczegółowo opisane w Crypto Strona główna iButton (patrz Zasoby).

Połączenie Java

Mając doświadczenie w projektowaniu systemu operacyjnego E-Commerce i maszyny wirtualnej dla platformy sprzętowej Crypto iButton, zespół projektantów oprogramowania układowego w Dallas Semiconductor mógł z łatwością docenić zalety nowego systemu operacyjnego dla Crypto iButton opartego na Javie. Dzięki Java iButton ogromna liczba istniejących programistów Java może łatwo nauczyć się pisać aplety, które można skompilować za pomocą standardowych narzędzi firmy Sun Microsystems, załadować do Java iButton i uruchomić na żądanie w celu obsługi szerokiej gamy aplikacji finansowych. Specyfikacja Java Card 2.0 zapewniła możliwość zaimplementowania użytecznej wersji JVM i środowiska wykonawczego przy ograniczonych zasobach dostępnych dla małego procesora.

Crypto iButton zapewnia również doskonałą platformę sprzętową do wykonywania Java, ponieważ wykorzystuje NVRAM do przechowywania programów i danych. Z 6 kilobajtami istniejącej pamięci NVRAM i możliwością rozszerzenia pamięci NVRAM do 128 kilobajtów w istniejącej obudowie iButton, Crypto iButton może uruchamiać Javę z relatywnie dużym stosem Java umieszczonym w NVRAM. Ta pamięć działa jak konwencjonalna, szybka pamięć RAM, gdy procesor wykonuje, a energia litu zachowuje cały stan maszyny, gdy pierścień Java Ring jest odłączony od czytnika. Nie ma zatem wymogu zajmowania się obiektami trwałymi w specjalny sposób - obiekty są trwałe lub nie zależą od ich zakresu, więc programista ma pełną kontrolę nad trwałością obiektów. Jak w standardowej Javie,Java iButton zawiera moduł odśmiecania pamięci, który zbiera wszystkie obiekty poza zakresem i przetwarza pamięć do wykorzystania w przyszłości. Aplety można ładować i usuwać z iButton Java tak często, jak potrzeba. Wszystkie aplety aktualnie załadowane do pastylek Java iButton działają efektywnie z zerową szybkością za każdym razem, gdy iButton nie styka się z receptorem Blue Dot.

Ponieważ zaproponowano specyfikację Java Card 2.0, Dallas Semiconductor został licencjobiorcą JavaSoft. W umowie wezwano do opracowania implementacji Java Card 2.0, a także do zaprojektowania „dodatkowych części”, które wykorzystywałyby wyjątkowe możliwości oferowane przez Crypto iButtons NVRAM, takie jak możliwość obsługi prawdziwego stosu Java i czyszczenia pamięci. Z dodaniem stale działającego zegara czasu dnia zasilanego litem i szybkiego, modułowego silnika potęgowego o dużej liczbie całkowitej, implementacja Java iButton Java Card 2.0 z dodatkowymi częściami zapewnia ekscytujący nowy zestaw funkcji dla zaawansowanych kart Java Card Aplikacje.

Dbanie o bezpieczeństwo Twoich pieniędzy

Platforma sprzętowa Crypto iButton oferuje unikalny zestaw specjalnych funkcji, specjalnie zaprojektowanych w celu zapobiegania udostępnianiu kluczy prywatnych i innych poufnych informacji hakerom. Rysunek 1 przedstawia szczegół budowy wewnętrznej pastylek Crypto iButton. Krzemowa matryca zawierająca procesor, pamięć ROM i NVRAM jest metalurgicznie połączona z podłożem bariery, przez którą wykonane są wszystkie styki elektryczne. To podłoże barierowe i trójwarstwowe techniki konstrukcji metalowej zastosowane w produkcji krzemu skutecznie uniemożliwiają dostęp do danych przechowywanych w pamięci NVRAM. W przypadku jakiejkolwiek próby przebicia się przez te bariery, dane NVRAM są natychmiast usuwane.Ta technika budowy i wykorzystanie pamięci NVRAM do przechowywania kluczy prywatnych i innych poufnych danych zapewnia znacznie wyższy stopień bezpieczeństwa danych niż ten, który zapewnia pamięć EEPROM. Fakt, że ścieżka komunikacyjna między Crypto iButton a światem zewnętrznym jest ograniczona do jednej linii danych, zapewnia dodatkowe zabezpieczenie przed atakami sprzętowymi, ograniczając zasięg sygnałów dostępnych dla hakera.

Ponadto sam procesor jest napędzany przez niestabilizowany oscylator pierścieniowy działający w zakresie od 10 do 20 megaherców, dzięki czemu częstotliwość zegara procesora nie jest stała i nie można jej określić środkami zewnętrznymi. Różni się to od konstrukcji alternatywnych urządzeń, w których sygnał zegara procesora jest wprowadzany przez czytnik i dlatego jest dokładnie określany przez procesor główny. Zewnętrzne sterowanie zegarem stanowi cenne narzędzie dla hakerów, ponieważ mogą powtarzać cykle takiego procesora do tego samego punktu w jego wykonaniu, po prostu stosując tę ​​samą liczbę cykli zegara. Sterowanie zegarem umożliwia również wywołanie błędu obliczeniowego, a tym samym uzyskanie informacji, które ostatecznie mogą ujawnić tajne klucze szyfrowania.32-kilohercowy oscylator kwarcowy jest używany w iButton Java do obsługi zegara czasu dnia ze stałą i dobrze kontrolowaną częstotliwością, niezależną od zegara procesora.

Firma Dallas Semiconductor wyprodukowała ponad 20 milionów bezpiecznych fizycznie pamięci i komputerów w twardej obudowie zoptymalizowanej pod kątem osobistego posiadania. Dlatego Java iButton jest po prostu najnowszym i najbardziej złożonym następcą długiej linii produktów, które okazały się bardzo skuteczne na rynku. Dzięki pancerzowi ze stali nierdzewnej oferuje najtrwalsze opakowanie dla klasy produktów, które prawdopodobnie będą narażone na intensywne użytkowanie i nadużycia jako rzeczy osobiste. Forma iButton pozwala na dołączenie do szerokiej gamy akcesoriów osobistych, takich jak pierścionki, paski od zegarków, breloki do kluczy, portfele, bransoletki i naszyjniki, dzięki czemu użytkownik może wybrać wariant, który pasuje do jego stylu życia.