Programovanie

Úvod do Java Ring

Stĺpec za tento mesiac je rozdelený na dve časti. Prvá časť uvedená v tomto článku ponúka históriu Java Ring a technológia použitá na jeho zostavenie, ako aj krátka diskusia o vhodnosti modulu iButton pre bezpečnostné aplikácie a ďalšie aplikácie. Druhá časť demonštruje, ako používať rozhranie Java Card 2.0 API s programom Java iButton, a poskytuje čitateľovi veľmi skorý pohľad na to, ako navrhnúť aplikáciu, stiahnuť ju a potom komunikovať s aplikáciou bežiacou na karte Java Card.

Je to v detailoch

Java Ring je mimoriadne bezpečný elektronický token napájaný technológiou Java s nepretržite bežiacimi nezmeniteľnými hodinami v reálnom čase a odolným obalom vhodný pre mnoho aplikácií. Klenotom Java Ring je Java iButton - milión tranzistorový, dôveryhodný jednočipový mikropočítač s výkonným procesorom Java Virtual Machine (JVM) uloženým v robustnom a bezpečnom puzdre z nehrdzavejúcej ocele. Navrhnutý tak, aby bol plne kompatibilný so štandardom Java Card 2.0 (ďalšie informácie o karte Java Card 2.0 nájdete v minulých mesiacoch Vývojár Java („Understanding Java Card 2.0“) obsahuje procesor vysokorýchlostný 1024-bitový modulárny exponentátor šifrovania RSA, veľkú kapacitu pamäte RAM a ROM a nezmeniteľné hodiny v reálnom čase. Balený modul má iba jeden elektrický kontakt a spätný vodič, čo zodpovedá špecifikáciám 1-vodičovej zbernice Dallas Semiconductor. Neprchavý SRAM chránený lítiom ponúka vysokú rýchlosť čítania / zápisu a bezkonkurenčnú odolnosť proti neoprávnenej manipulácii vďaka takmer okamžitému vymazaniu všetkej pamäte pri detekcii temperovania, čo je funkcia známa ako rýchle vynulovanie. Integrita údajov a funkcia hodín sú zachované viac ako 10 rokov. Kryt z nehrdzavejúcej ocele s priemerom 16 milimetrov pojme väčšie veľkosti čipov potrebných pre až 128 kilobajtov vysokorýchlostnej energeticky nezávislej statickej pamäte RAM. Malý a mimoriadne odolný obal modulu umožňuje pripojenie k príslušenstvu podľa vášho výberu tak, aby zodpovedal individuálnemu životnému štýlu, ako je prívesok na kľúče, peňaženka, hodinky, náhrdelník, náramok alebo prstenník.

Historické pozadie

V lete 1989 spoločnosť Dallas Semiconductor Corp. vyrobila prvé pamäťové zariadenia zapuzdrené z nehrdzavejúcej ocele s využitím komunikačného protokolu Dallas Semiconductor 1-Wire. Do roku 1990 bol tento protokol zdokonalený a použitý v rôznych samostatných pamäťových zariadeniach. Zariadenia, ktoré sa pôvodne nazývali „dotykové pamäte“, sa neskôr premenovali na „iButtons“. Balíky iButtons, ktoré sú zabalené ako batérie, majú iba jeden aktívny elektrický kontakt na hornom povrchu, pričom plášť z nehrdzavejúcej ocele slúži ako zem.

Dáta je možné čítať alebo zapisovať do pamäte sériovo pomocou jednoduchého a lacného adaptéra sériového portu RS232C, ktorý tiež dodáva energiu potrebnú na vykonávanie I / O. Pamäť iButton je možné čítať alebo zapisovať okamžitým kontaktom s receptorom „Blue Dot“ poskytovaným adaptérom. Ak nie je pripojený k adaptéru sériového portu, údaje o pamäti sa uchovávajú v energeticky nezávislej pamäti s náhodným prístupom (NVRAM) prostredníctvom doživotného lítiového zdroja energie, ktorý uchová obsah pamäte najmenej 10 rokov. Na rozdiel od elektricky vymazateľnej programovateľnej pamäte iba na čítanie (EEPROM) možno pamäť NVRAM iButton mazať a prepisovať tak často, ako je potrebné, bez opotrebovania. Môže byť tiež vymazaný alebo prepísaný pri vysokých rýchlostiach typických pre pamäť doplnkového polovodičového oxidu kovu (CMOS), bez potreby časovo náročného programovania EEPROM.

Od svojho uvedenia boli pamäťové zariadenia iButton nasadené v obrovských množstvách ako odolné prenosné dátové nosiče, často v nepriaznivých podmienkach prostredia. Medzi veľké použitie patrí ako tranzitný dopravca v tureckom Istanbule; ako nosiče záznamov o údržbe po stranách nákladných vozidiel Ryder; a ako identifikátory poštových schránok vo vnútri poštových priehradiek vonkajších poštových schránok americkej poštovej služby. V Kanade ich nosia ako náušnice kravy, aby držali záznamy o očkovaní, a poľnohospodári ich v mnohých oblastiach používajú ako drsnú náhradu časových kariet.

Produktová rada iButton a jej množstvo aplikácií sú opísané na webovej stránke iButton spoločnosti Dallas Semiconductor, ktorá je uvedená v časti Zdroje. Každý produkt iButton je vyrobený s jedinečným 8-bytovým sériovým číslom a zaručuje sa, že nikdy nebudú mať rovnaké dve časti. Medzi najjednoduchšie iButtons patria pamäťové zariadenia, ktoré môžu obsahovať súbory a podadresáre a dajú sa čítať a zapisovať ako malé diskety. Okrem nich existujú tlačidlá iButton s oblasťami súborov chránenými heslom pre bezpečnostné aplikácie, iButtons, ktoré počítajú počet prepísaní pre zabezpečenie finančných transakcií, iButtons so snímačmi teploty, iButton s nepretržite bežiacimi hodinami dátumu a času a dokonca iButtony obsahujúce výkonné mikroprocesory.

Poštové zabezpečovacie zariadenie

Už viac ako 10 rokov spoločnosť Dallas Semiconductor taktiež navrhuje, vyrába a predáva rad vysoko bezpečných mikroprocesorov, ktoré sa používajú v dekódovačoch satelitnej televízie, bankomatoch, termináli v mieste predaja a ďalších podobných aplikáciách vyžadujúcich kryptografické zabezpečenie a vysokú úroveň odolnosť proti útoku hackerov. Špecifikácia poštovného zabezpečovacieho zariadenia americkej poštovej služby (USPS), zameraná na umožnenie tlače platného poštovného v USA na ľubovoľnom počítači, poskytla prvú príležitosť spojiť dve oblasti odbornosti, keď bol navrhnutý bezpečný mikroprocesor do iButton.

Výsledný produkt s názvom Krypto iButton, kombinuje vysoký výkon procesora, vysokorýchlostné kryptografické primitívy a výnimočnú ochranu pred fyzickým a kryptografickým útokom. Napríklad modul veľkého celočíselného modulárneho umocňovania môže vykonávať 1024-bitové modulárne umocňovanie s 1024-bitovým exponentom za podstatne menej ako sekundu. Schopnosť vykonávať veľké celočíselné modulárne umocňovanie pri vysokej rýchlosti je základom šifrovania RSA, výmeny kľúčov Diffie-Hellman, štandardu digitálneho podpisu (FIPS 186) a mnohých ďalších moderných kryptografických operácií.

Dohoda medzi spoločnosťami Dallas Semiconductor a RSA Data Security Inc. poskytuje platenú licenciu pre každého, kto používa Crypto iButton na vykonávanie šifrovania RSA a digitálnych podpisov, takže už nie sú potrebné ďalšie licencie na šifrovaciu technológiu RSA. Vysokú bezpečnosť zaisťuje schopnosť extrémne rýchlo vymazať obsah NVRAM. Táto vlastnosť, rýchle vynulovanie, je požiadavkou na vysoko zabezpečené zariadenia, ktoré môžu byť vystavené útokom hackerov. Očakáva sa, že Crypto iButton vďaka svojej vysokej bezpečnosti získa bezpečnostnú certifikáciu FIPS 140-1 od Národného inštitútu pre štandardy a technológie (NIST).

Bol navrhnutý a uložený špeciálny operačný systém v ROM Crypto iButton na podporu kryptografie a finančných transakcií na všeobecné účely - napríklad tých, ktoré vyžaduje program Poštová služba. Aj keď nejde o virtuálny stroj Java, mal firmvér E-Commerce navrhnutý pre túto aplikáciu niekoľko podobností s Javou, vrátane objektovo orientovaného dizajnu a interpretu bytecode na interpretáciu a vykonávanie špeciálne navrhnutého jazyka E-Commerce Script Language spoločnosti Dallas Semiconductor. Bol tiež napísaný kompilátor, ktorý kompiloval jazykové zastúpenie skriptovacieho jazyka na vysokej úrovni do formy bytecode, ktorú by mohol interpretovať virtuálny počítač E-Commerce. Aj keď bol firmvér E-Commerce určený predovšetkým pre aplikáciu USPS, podporuje celý rad všeobecných modelov elektronického obchodu, ktoré sú vhodné pre mnoho rôznych aplikácií. Firmvér E-Commerce podporuje aj kryptografické protokoly na bezpečnú výmenu informácií, ako je napríklad Simple Key-Management for Internet Protocol (SKIP) vyvinutý spoločnosťou Sun Microsystems Inc. Domovská stránka iButton (pozri Zdroje).

Pripojenie Java

Vďaka skúsenostiam s navrhovaním operačného systému E-Commerce a VM pre hardvérovú platformu Crypto iButton mohol tím pre návrh firmvéru v spoločnosti Dallas Semiconductor ľahko oceniť výhody nového operačného systému pre Crypto iButton založeného na Jave. Vďaka Java iButton sa obrovské množstvo existujúcich programátorov v jazyku Java mohlo ľahko naučiť písať applety, ktoré by sa dali kompilovať pomocou štandardných nástrojov dostupných od Sun Microsystems, načítať do Java iButton a spúšťať na požiadanie s cieľom podpory najrôznejších finančných aplikácií. Špecifikácia Java Card 2.0 poskytla príležitosť implementovať užitočnú verziu JVM a runtime prostredia s obmedzenými prostriedkami dostupnými pre malý procesor.

Crypto iButton tiež poskytuje vynikajúcu hardvérovú platformu na vykonávanie Java, pretože využíva NVRAM na ukladanie programov a dát. Vďaka 6 kilobajtom existujúceho NVRAM a potenciálu rozšíriť kapacitu NVRAM až na 128 kilobajtov v existujúcom formáte iButton dokáže Crypto iButton spustiť Javu s relatívne veľkým Java stackom umiestneným v NVRAM. Táto pamäť funguje ako konvenčná vysokorýchlostná pamäť RAM, keď sa procesor vykonáva, a lítiová energia zachováva úplný stav stroja, keď je modul Java Ring odpojený od čítačky. Neexistuje preto požiadavka na zvláštne zaobchádzanie s perzistentnými objektmi - objekty pretrvávajú alebo nie v závislosti od ich rozsahu, takže programátor má úplnú kontrolu nad perzistenciou objektov. Rovnako ako v štandardnej Jave, obsahuje Java iButton zberač odpadu, ktorý zhromažďuje všetky objekty, ktoré sú mimo rozsahu, a recykluje pamäť pre ďalšie použitie. Applety je možné načítať a vyložiť z Java iButton tak často, ako je to potrebné. Všetky applety momentálne načítané v Java iButton sa efektívne vykonávajú pri nulovej rýchlosti, kedykoľvek iButton nie je v kontakte s receptorom Blue Dot.

Keď bola navrhnutá špecifikácia Java Card 2.0, stal sa Dallas Semiconductor držiteľom licencie JavaSoft. Dohoda požadovala vývoj implementácie Java Card 2.0 a tiež návrh „plusových častí“, ktoré využívajú výhody jedinečných schopností poskytovaných NVRAM Crypto iButtons, ako napríklad schopnosť podporovať skutočný Java stack a odvoz odpadu. S pridaním nepretržite bežiacich hodín denného času napájaných lítiom a vysokorýchlostného modulárneho umocňovania s veľkým počtom integrácií sľubuje implementácia Java iButton karty Java Card 2.0 s plusovými časťami vzrušujúcu novú sadu funkcií pre pokročilú kartu Java Card. aplikácie.

Udržujte svoje peniaze v bezpečí

Hardvérová platforma Crypto iButton ponúka jedinečnú sadu špeciálnych funkcií, ktoré sú výslovne určené na zabránenie prístupu hackerov k súkromným kľúčom a iným dôverným informáciám. Obrázok 1 zobrazuje detail vnútornej konštrukcie Crypto iButton. Kremíková matrica obsahujúca procesor, ROM a NVRAM pamäť je metalurgicky spojená s bariérovým substrátom, cez ktorý sú vytvorené všetky elektrické kontakty. Tento bariérový substrát a techniky trojvrstvovej kovovej konštrukcie používané pri výrobe kremíka účinne bránia prístupu k údajom uloženým v NVRAM. Ak sa pokúsite preniknúť cez tieto bariéry, údaje NVRAM sa okamžite vymažú. Táto konštrukčná technika a použitie NVRAM na ukladanie súkromných kľúčov a iných dôverných údajov poskytuje oveľa vyšší stupeň bezpečnosti údajov, ako poskytuje pamäť EEPROM. Skutočnosť, že komunikačná cesta medzi Crypto iButton a vonkajším svetom je obmedzená na jednu dátovú linku, poskytuje ďalšie zabezpečenie pred hardvérovými útokmi tým, že obmedzuje rozsah signálov prístupných hackerom.

Samotný procesor je navyše poháňaný nestabilizovaným prstencovým oscilátorom pracujúcim v rozsahu 10 až 20 megahertzov, takže taktovacia frekvencia procesora nie je konštantná a nemožno ju určiť externými prostriedkami. To sa líši od konštrukcie alternatívnych zariadení, v ktorých je taktovací signál procesora vložený čítačkou, a je preto presne určený hostiteľským procesorom. Externá kontrola hodín poskytuje hackerom cenný nástroj, pretože môžu takýto procesor opakovane cyklovať do rovnakého bodu pri jeho vykonávaní jednoduchým použitím rovnakého počtu hodinových cyklov. Ovládanie hodín tiež poskytuje prostriedky na vyvolanie chyby vo výpočte, a tým na získanie informácií, ktoré môžu nakoniec odhaliť tajné šifrovacie kľúče. 32kilový oscilátor s kryštálmi sa používa v Java iButton na prevádzku hodín dňa na konštantnej a dobre riadenej frekvencii, ktorá je nezávislá od hodín procesora.

Spoločnosť Dallas Semiconductor vyrobila viac ako 20 miliónov fyzicky zabezpečených pamätí a počítačov s pevným obalom optimalizovaných pre osobné vlastníctvo. Java iButton je teda jednoducho najnovším a najkomplexnejším potomkom dlhej rady produktov, ktoré sa na trhu osvedčili ako veľmi úspešné. So svojím pancierom z nehrdzavejúcej ocele ponúka najodolnejšie balenie pre triedu výrobkov, ktoré pravdepodobne utrpia ťažké použitie a zneužitie ako osobný majetok. Formulár iButton umožňuje pripevnenie k širokej škále osobného príslušenstva, ktoré zahŕňa prstene, pásky, prívesky, peňaženky, náramky a náhrdelníky, takže si používateľ môže zvoliť variant, ktorý vyhovuje jeho životnému štýlu.

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