Programování

Úvod do Java Ring

Sloupec tohoto měsíce je rozdělen na dvě části. První část, ztělesněná v tomto článku, nabízí historii Java Ring a technologie použité k jeho vytvoření, stejně jako krátká diskuse o vhodnosti aplikace iButton pro bezpečnostní aplikace a další aplikace. Druhá část ukazuje, jak používat rozhraní Java Card 2.0 API s prostředím Java iButton, a poskytuje čtenáři velmi raný pohled na to, jak navrhnout aplikaci, stáhnout ji a poté komunikovat s aplikací spuštěnou na kartě Java Card.

Je to v detailech

Java Ring je extrémně bezpečný elektronický token napájený z prostředí Java s nepřetržitě běžícími, nezměnitelnými hodinami v reálném čase a odolným obalem, vhodný pro mnoho aplikací. Klenotem Java Ring je Java iButton - milion tranzistorů, jednočipový důvěryhodný mikropočítač s výkonným Java Virtual Machine (JVM) uloženým v robustním a bezpečném pouzdře z nerezové oceli. Navrženo tak, aby bylo plně kompatibilní se standardem Java Card 2.0 (další informace o kartě Java Card 2.0 najdete v minulých měsících Java Developer Sloupec „Porozumění kartě Java 2.0“) obsahuje procesor vysokorychlostní 1024bitový modulární exponentátor pro šifrování RSA, velkou kapacitu paměti RAM a ROM a nezměnitelné hodiny reálného času. Zabalený modul má pouze jeden elektrický kontakt a uzemnění, což odpovídá specifikacím 1-vodičové sběrnice Dallas Semiconductor. Energeticky nezávislá SRAM s lithiovým krytem nabízí vysokou rychlost čtení / zápisu a bezkonkurenční odolnost proti neoprávněné manipulaci díky téměř okamžitému vymazání veškeré paměti při detekci temperování, což je funkce známá jako rychlá nulování. Integrita dat a funkce hodin jsou udržovány více než 10 let. Pouzdro z nerezové oceli o průměru 16 milimetrů pojme větší velikosti čipů, které jsou potřebné pro až 128 kilobajtů vysokorychlostní stálé statické paměti RAM. Malý a extrémně odolný obal modulu umožňuje připevnění k příslušenství podle vašeho výběru tak, aby odpovídalo individuálnímu životnímu stylu, jako je klíčenka, peněženka, hodinky, náhrdelník, náramek nebo prsten.

Historické pozadí

V létě 1989 společnost Dallas Semiconductor Corp. vyrobila první paměťová zařízení zapouzdřená z nerezové oceli využívající komunikační protokol 1-Wire Dallas Semiconductor. Do roku 1990 byl tento protokol vylepšen a použit v řadě samostatných paměťových zařízení. Zařízení, která se původně nazývala „dotyková paměť“, byla později přejmenována na „iButtons“. Zabalené jako baterie mají iButtons na horním povrchu pouze jeden aktivní elektrický kontakt, přičemž pouzdro z nerezové oceli slouží jako uzemnění.

Data lze číst nebo zapisovat do paměti sériově pomocí jednoduchého a levného adaptéru sériového portu RS232C, který také dodává energii potřebnou k provedení I / O. Paměť iButton lze číst nebo zapisovat okamžitým kontaktem s receptorem „Blue Dot“ poskytovaným adaptérem. Pokud není připojen k adaptéru sériového portu, jsou paměťová data udržována v energeticky nezávislé paměti s náhodným přístupem (NVRAM) prostřednictvím doživotního lithiového zdroje energie, který udrží obsah paměti po dobu nejméně 10 let. Na rozdíl od elektricky mazatelné programovatelné paměti pouze pro čtení (EEPROM) lze paměť NVRAM iButton mazat a přepisovat tak často, jak je to nutné, bez opotřebení. Lze jej také mazat nebo přepisovat při vysokých rychlostech typických pro paměť doplňkového polovodičového oxidu kovu (CMOS), aniž by bylo nutné časově náročné programování EEPROM.

Od svého zavedení byla paměťová zařízení iButton nasazena v obrovských množstvích jako odolné přenosné datové nosiče, často v drsných podmínkách prostředí. Mezi nejrozsáhlejší použití patří přepravci přepravních tarifů v tureckém Istanbulu; jako nosiče záznamů o údržbě po stranách nákladních vozidel Ryder; a jako identifikátory poštovních schránek uvnitř poštovních oddílů venkovních poštovních schránek US Postal Service. V Kanadě je nosí kravičky jako náušnice, aby držely záznamy o očkování, a zemědělští dělníci je používají v mnoha oblastech jako drsnou náhražku časových karet.

Produktová řada iButton a její mnoho aplikací jsou popsány na webu iButton společnosti Dallas Semiconductor, který je uveden v části Zdroje. Každý produkt iButton je vyroben s jedinečným 8bajtovým sériovým číslem a nese záruku, že žádné dvě části nebudou mít stejné číslo. Mezi nejjednodušší iButtons patří paměťová zařízení, která mohou obsahovat soubory a podadresáře a lze je číst a zapisovat jako malé diskety. Kromě toho existují iButtony s oblastmi souborů chráněných heslem pro bezpečnostní aplikace, iButtony, které počítají, kolikrát byly přepsány pro zabezpečení finančních transakcí, iButtony s teplotními senzory, iButtony s nepřetržitě běžícími hodinami data / času a dokonce iButtony obsahující výkonné mikroprocesory.

Poštovní zabezpečovací zařízení

Již více než 10 let společnost Dallas Semiconductor také navrhuje, vyrábí a prodává řadu vysoce zabezpečených mikroprocesorů, které se používají v descramblerech satelitní televize, bankomatech, terminálech v místě prodeje a dalších podobných aplikacích vyžadujících kryptografické zabezpečení a vysokou odolnost vůči útoku hackerů. Specifikace poštovního zabezpečovacího zařízení americké poštovní služby (USPS), která má umožnit tisk platného poštovného v USA na jakémkoli počítači, poskytla první příležitost spojit dvě oblasti odbornosti, když byl zabezpečený mikroprocesor navržen do iButton.

Výsledný produkt s názvem Krypto iButtonkombinuje vysoký výkon procesoru, vysokorychlostní kryptografické primitivy a výjimečnou ochranu před fyzickým a kryptografickým útokem. Například velký celočíselný modulární umocňovací modul může provádět 1024bitové modulární umocňování s 1024bitovým exponentem za podstatně méně než sekundu. Schopnost provádět velké celočíselné modulární umocňování vysokou rychlostí je ústřední pro šifrování RSA, výměnu klíčů Diffie-Hellman, standard digitálního podpisu (FIPS 186) a mnoho dalších moderních kryptografických operací.

Dohoda mezi společnostmi Dallas Semiconductor a RSA Data Security Inc. poskytuje placenou licenci pro každého, kdo používá Crypto iButton k provádění šifrování RSA a digitálních podpisů, takže již není nutné další licencování šifrovací technologie RSA. Vysoká bezpečnost je dána schopností extrémně rychle vymazat obsah NVRAM. Tato funkce, rychlá nulování, je požadavkem na vysoce zabezpečená zařízení, která mohou být vystavena útokům hackerů. V důsledku vysoké bezpečnosti se očekává, že Crypto iButton vyhraje bezpečnostní certifikaci FIPS 140-1 od Národního institutu pro standardy a technologie (NIST).

Byl navržen a uložen speciální operační systém v ROM Crypto iButton pro podporu kryptografie a finančních transakcí pro všeobecné účely - například těch, které vyžaduje program Poštovní služba. I když nejde o virtuální stroj Java, měl firmware E-Commerce navržený pro tuto aplikaci několik podobností s Javou, včetně objektově orientovaného designu a interpretu bytecode k interpretaci a provádění vlastního E-Commerce Script Language společnosti Dallas Semiconductor. Byl také napsán kompilátor, který zkompiloval jazykovou reprezentaci na vysoké úrovni skriptovacího jazyka do formy bytecode, kterou by mohl interpretovat virtuální počítač E-Commerce. Přestože byl firmware elektronického obchodu určen primárně pro aplikaci USPS, firmware podporuje řadu obecných modelů elektronického obchodování, které jsou vhodné pro mnoho různých aplikací. Firmware E-Commerce také podporuje kryptografické protokoly pro bezpečnou výměnu informací, jako je Simple Key-Management for Internet Protocol (SKIP) vyvinutý společností Sun Microsystems Inc. E-Commerce iButton a SDK pro jeho programování jsou podrobně popsány v Crypto Domovská stránka iButton (viz Zdroje).

Připojení Java

Díky zkušenostem s navrhováním operačního systému E-Commerce a VM pro hardwarovou platformu Crypto iButton by tým pro návrh firmwaru v Dallas Semiconductor mohl snadno ocenit výhody nového operačního systému pro Crypto iButton založeného na Javě. Díky Java iButton se obrovské množství stávajících programátorů v Javě mohlo snadno naučit psát applety, které by mohly být kompilovány se standardními nástroji dostupnými od Sun Microsystems, načteny do Java iButton a provozovány na vyžádání pro podporu nejrůznějších finančních aplikací. Specifikace Java Card 2.0 poskytla příležitost implementovat užitečnou verzi prostředí JVM a běhového prostředí s omezenými prostředky dostupnými pro malý procesor.

Crypto iButton také poskytuje vynikající hardwarovou platformu pro provádění Javy, protože využívá NVRAM pro ukládání programů a dat. Díky 6 kilobajtům stávajícího NVRAM a potenciálu rozšířit kapacitu NVRAM až na 128 kilobajtů ve stávajícím formátu iButton může Crypto iButton spouštět Javu s relativně velkým Java stackem umístěným v NVRAM. Tato paměť funguje jako běžná vysokorychlostní paměť RAM, když je procesor spuštěn, a lithiová energie zachovává úplný stav zařízení, když je Java Ring odpojen od čtečky. Neexistuje tedy žádný požadavek na zacházení s perzistentními objekty zvláštním způsobem - objekty přetrvávají nebo ne v závislosti na jejich rozsahu, takže programátor má úplnou kontrolu nad perzistencí objektů. Stejně jako ve standardní Javě obsahuje Java iButton sběrač odpadků, který shromažďuje všechny objekty, které jsou mimo rozsah, a recykluje paměť pro budoucí použití. Applety lze načíst a uvolnit z Java iButton tak často, jak je potřeba. Všechny applety aktuálně načtené v Java iButton se efektivně spouštějí nulovou rychlostí, kdykoli iButton není v kontaktu s receptorem Blue Dot.

Když byla navržena specifikace Java Card 2.0, stal se Dallas Semiconductor držitelem licence JavaSoft. Dohoda požadovala vývoj implementace Java Card 2.0 a také návrh „plusových částí“, které využívají jedinečných schopností poskytovaných NVRAM Crypto iButtons, jako je schopnost podporovat skutečný Java stack a odvoz odpadu. S přidáním nepřetržitě běžících lithiových hodin s časem dne a vysokorychlostním modulárním umocňovacím modulem s velkým počtem integerů slibuje implementace Java iButton karty Java Card 2.0 s plusovými částmi vzrušující novou sadu funkcí pro pokročilou kartu Java Card aplikace.

Chraňte své peníze

Hardwarová platforma Crypto iButton nabízí jedinečnou sadu speciálních funkcí, které jsou výslovně navrženy tak, aby zabránily hackerům zpřístupnit soukromé klíče a další důvěrné informace. Obrázek 1 ukazuje detail vnitřní konstrukce Crypto iButton. Křemíková matrice obsahující procesor, paměť ROM a paměť NVRAM je metalurgicky spojena s bariérovým substrátem, kterým jsou vytvořeny všechny elektrické kontakty. Tento bariérový substrát a techniky třívrstvé kovové konstrukce používané při výrobě křemíku účinně odepírají přístup k datům uloženým v paměti NVRAM. Pokud dojde k pokusu o proniknutí do těchto bariér, jsou data NVRAM okamžitě vymazána. Tato technika konstrukce a použití NVRAM pro ukládání soukromých klíčů a dalších důvěrných dat poskytuje mnohem vyšší stupeň zabezpečení dat, než jaký poskytuje paměť EEPROM. Skutečnost, že komunikační cesta mezi Crypto iButton a vnějším světem je omezena na jednu datovou linku, poskytuje další zabezpečení proti hardwarovým útokům omezením rozsahu signálů přístupných hackerům.

Samotný procesor je navíc poháněn nestabilizovaným prstencovým oscilátorem pracujícím v rozsahu 10 až 20 megahertzů, takže taktovací frekvence procesoru není konstantní a nelze ji určit externími prostředky. To se liší od konstrukce alternativních zařízení, ve kterých je taktovací signál procesoru vložen čtečkou, a je proto přesně určen hostitelským procesorem. Externí ovládání hodin poskytuje hackerům cenný nástroj, protože takový procesor mohou opakovaně cyklovat do stejného bodu při jeho provádění jednoduše použitím stejného počtu hodinových cyklů. Řízení času také poskytuje prostředky k vyvolání chyby výpočtu a tím k získání informací, které mohou nakonec odhalit tajné šifrovací klíče. Krystalový oscilátor 32 kilohertzů se používá v prostředí Java iButton k provozu hodin dne na konstantní a dobře řízené frekvenci, která je nezávislá na hodinách procesoru.

Společnost Dallas Semiconductor vyrobila více než 20 milionů fyzicky zabezpečených pamětí a počítačů s hardwarovým obalem optimalizovaným pro osobní vlastnictví. Java iButton je tedy jednoduše nejnovějším a nejsložitějším potomkem dlouhé řady produktů, které se na trhu osvědčily jako velmi úspěšné. Se svým pancéřováním z nerezové oceli nabízí nejodolnější obal pro třídu produktů, které pravděpodobně utrpí těžké použití a zneužití jako osobní majetek. Tvarový faktor iButton umožňuje připevnění k široké škále osobního příslušenství, které zahrnuje prsteny, pásky, řemínky, peněženky, náramky a náhrdelníky, takže si uživatel může vybrat variantu, která vyhovuje jeho životnímu stylu.

$config[zx-auto] not found$config[zx-overlay] not found