Programavimas

„Java Ring“ įvadas

Šio mėnesio skiltis yra padalinta į dvi dalis. Pirmoji dalis, įkūnyta šiame straipsnyje, pateikia „TOS“ istoriją „Java Ring“ ir jo sukūrimui naudojama technologija, taip pat trumpas „iButton“ tinkamumo naudoti saugos ir kitoms programoms aptarimas. Antroje dalyje parodoma, kaip naudoti „Java Card 2.0“ API su „Java iButton“, skaitytojui labai anksti apžvelgiama, kaip sukurti programą, ją atsisiųsti ir bendrauti su programa, veikiančia „Java“ kortelėje.

Tai detalėse

„Java Ring“ yra ypač saugus „Java“ valdomas elektroninis žetonas su nuolat veikiančiu, nekeičiamu realaus laiko laikrodžiu ir tvirta pakuote, tinkančiu daugeliui programų. „Java Ring“ brangakmenis yra „Java iButton“ - vieno milijono tranzistorių patikimas vienos mikroschemos mikrokompiuteris su galinga „Java“ virtualia mašina (JVM), tvirtas ir saugus nerūdijančio plieno dėklas. Sukurtas taip, kad būtų visiškai suderinamas su „Java Card 2.0“ standartu (daugiau apie „Java Card 2.0“ rasite praėjusio mėnesio puslapyje „Java“ kūrėjas skiltyje „Suprasti„ Java Card 2.0 ““ procesorius turi greitą 1024 bitų modulinį RSA šifravimo greitintuvą, didelę RAM ir ROM atminties talpą ir nepakeičiamą realaus laiko laikrodį. Supakuotas modulis turi tik vieną elektrinį kontaktą ir grįžtamąjį įžeminimą, atitinkantį „Dallas Semiconductor 1-Wire“ magistralės specifikacijas. Ličio remiamas nepastovus SRAM siūlo greitą skaitymo / rašymo greitį ir neprilygstamą atsparumą klastojimui, beveik iš karto išvalydamas visą atmintį, kai aptinkamas grūdinimas. Ši funkcija vadinama greitas nulis. Duomenų vientisumas ir laikrodžio funkcija palaikomi daugiau nei 10 metų. 16 milimetrų skersmens nerūdijančio plieno korpusas talpina didesnius lustų dydžius, reikalingus iki 128 kilobaitų didelės spartos nepastoviai statinei RAM. Maža ir labai tvirta modulio pakuotė leidžia ją pritvirtinti prie pasirinkto priedo, kad atitiktų individualų gyvenimo stilių, pavyzdžiui, raktų pakabuką, piniginę, laikrodį, karolius, apyrankę ar pirštų žiedą.

Istorinis pagrindas

1989 m. Vasarą „Dallas Semiconductor Corp.“ pagamino pirmuosius nerūdijančio plieno kapsuliuotus atminties įrenginius, naudodamas „Dallas Semiconductor 1-Wire“ ryšio protokolą. Iki 1990 m. Šis protokolas buvo patobulintas ir pritaikytas įvairiuose autonominiuose atminties įrenginiuose. Iš pradžių vadinti „jutiklinės atminties“ įrenginiais, vėliau jie buvo pervadinti į „iButtons“. Supakuoti kaip baterijos, „iButtons“ viršutiniame paviršiuje yra tik vienas aktyvus elektrinis kontaktas, o nerūdijančio plieno apvalkalas yra žemė.

Duomenis galima nuskaityti arba įrašyti į atmintį nuosekliai per paprastą ir nebrangų RS232C nuoseklaus prievado adapterį, kuris taip pat tiekia įvesties / išvesties vykdymui reikalingą energiją. „IButton“ atmintį galima nuskaityti ar užrašyti trumpam susisiekus su „Blue Dot“ receptoriumi, kurį teikia adapteris. Neprisijungus prie nuoseklaus prievado adapterio, atminties duomenys yra palaikomi nepastovioje laisvosios kreipties atmintyje (NVRAM), naudojant ličio energijos tiekimą visą gyvenimą, kuris išlaikys atminties turinį mažiausiai 10 metų. Skirtingai nuo elektra ištrinamos programuojamos tik skaitymo atminties (EEPROM), NVRAM iButton atmintį galima ištrinti ir perrašyti taip dažnai, kiek reikia, nenusidėvint. Jį taip pat galima ištrinti arba perrašyti dideliu greičiu, būdingu papildomai metalų oksido puslaidininkių (CMOS) atmintinei, nereikalaujant daug laiko užimančio EEPROM programavimo.

Nuo jų įvedimo „iButton“ atminties įrenginiai buvo dislokuoti didžiuliais kiekiais kaip tvirti nešiojamieji duomenų laikikliai, dažnai esant sunkioms aplinkos sąlygoms. Tarp didelio masto paslaugų yra tranzito bilietų vežėjai Stambule, Turkijoje; kaip techninės priežiūros įrašų laikikliai „Ryder“ sunkvežimių šonuose; ir kaip pašto dėžutės identifikatoriai JAV pašto tarnybos lauko pašto dėžučių pašto skyriuose. Kanadoje karvės juos nešioja kaip auskarus, norėdami turėti vakcinacijos įrašus, o žemės ūkio darbuotojai daugelyje sričių juos naudoja kaip tvirtus laikrodžių pakaitalus.

„IButton“ produktų linija ir daugybė jos programų aprašyta „Dallas Semiconductor“ „iButton“ svetainėje, kuri pateikiama skyriuje Ištekliai. Kiekvienas „iButton“ produktas yra gaminamas su unikaliu 8 baitų serijos numeriu ir garantuoja, kad jokios dvi dalys niekada neturės to paties numerio. Tarp paprasčiausių „iButtons“ yra atminties įrenginiai, kuriuose gali būti failai ir pakatalogiai, kuriuos galima skaityti ir rašyti kaip mažus diskelius. Be to, yra „iButtons“ su slaptažodžiu apsaugotomis failų sritimis, skirtomis saugumo programoms, „iButtons“, kurie skaičiuoja, kiek kartų jie buvo perrašyti užtikrinant finansines operacijas, „iButtons“ su temperatūros jutikliais, „iButtons“ su nuolat veikiančiais datos / laiko laikrodžiais ir netgi „iButtons“ su galingais mikroprocesoriais.

Pašto apsaugos įtaisas

Jau daugiau nei 10 metų „Dallas Semiconductor“ taip pat kuria, gamina ir parduoda labai saugių mikroprocesorių, naudojamų palydovinės televizijos dešifravimo įrenginiuose, automatinėse kasose, prekybos vietose esančiuose terminaluose ir kitose panašiose programose, kurioms reikalinga kriptografinė apsauga ir aukštos kokybės, liniją. pasipriešinimas įsilaužėlių atakoms. JAV pašto tarnybos (USPS) „Information Based Indicia“ programos pašto saugos įrenginio specifikacija, skirta leisti spausdinti galiojančią JAV pašto dėžutę bet kuriame asmeniniame kompiuteryje, suteikė pirmą galimybę sujungti dvi kompetencijos sritis, kai saugus mikroprocesorius buvo suprojektuotas į „iButton“.

Gautas produktas, pavadintas Kripto „iButton“, sujungia aukštą procesoriaus našumą, didelės spartos kriptografinius pradus ir išskirtinę apsaugą nuo fizinio ir kriptografinio užpuolimo. Pavyzdžiui, didelis sveikasis skaičius modulinis eksponavimo variklis gali atlikti 1024 bitų modulinius eksponentus su 1024 bitų rodikliu per mažiau nei sekundę. Gebėjimas atlikti didelius sveiko skaičiaus modulinius eksponavimus dideliu greičiu yra pagrindinis RSA šifravimo, „Diffie-Hellman“ raktų mainų, skaitmeninio parašo standarto (FIPS 186) ir daugelio kitų šiuolaikinių kriptografinių operacijų pagrindas.

Susitarimas tarp „Dallas Semiconductor“ ir „RSA Data Security Inc.“ suteikia apmokėtą licenciją visiems, kurie naudoja „Crypto iButton“ RSA šifravimui ir skaitmeniniams parašams atlikti, kad nereikėtų toliau licencijuoti RSA šifravimo technologijos. Didelį saugumą suteikia galimybė itin greitai ištrinti NVRAM turinį. Ši funkcija - greitas nulio nustatymas - yra reikalavimas aukšto lygio saugos įtaisams, kuriuos gali patirti įsilaužėliai. Tikimasi, kad dėl didelio saugumo „Crypto iButton“ gaus Nacionalinio standartų ir technologijų instituto (NIST) FIPS 140-1 saugumo sertifikatą.

„Crypto iButton“ ROM buvo sukurta ir saugoma speciali operacinė sistema, palaikanti kriptografiją ir bendros paskirties finansines operacijas - tokias, kokias reikalauja „Postal Service“ programa. Nors tai nėra „Java“ virtuali mašina, šiai programai sukurta el. Prekybos programinė aparatinė įranga turėjo keletą panašumų su „Java“, įskaitant objektinį dizainą ir baitų kodų vertėją, kad būtų galima interpretuoti ir vykdyti „Dallas Semiconductor“ pagal užsakymą suprojektuotą el. Prekybos scenarijaus kalbą. Taip pat buvo parašytas kompiliatorius, norėdamas sukompiliuoti aukšto lygio scenarijų kalbos kalbinį vaizdą į baitų kodo formą, kurią galėtų interpretuoti el. Prekybos virtualioji mašina. Nors el. Prekybos programinė aparatinė įranga pirmiausia buvo skirta USPS programai, ji palaiko įvairius bendro pobūdžio elektroninės komercijos modelius, kurie tinka daugeliui skirtingų programų. Elektroninės prekybos programinė įranga taip pat palaiko saugaus keitimosi informacija kriptografinius protokolus, tokius kaip „Sun Microsystems Inc.“ sukurtas paprastas interneto protokolo raktų valdymas (SKIP). „E-Commerce iButton“ ir jo programavimui skirtas SDK yra išsamiai aprašyti „Crypto“. „iButton“ pagrindinis puslapis (žr. šaltinius).

„Java“ ryšys

Turėdamas patirties kurdamas el. Prekybos operacinę sistemą ir VM, skirtą „Crypto iButton“ aparatinės įrangos platformai, „Dallas Semiconductor“ programinės aparatinės įrangos projektavimo komanda galėtų lengvai įvertinti naujos „Java“ pagrindu sukurtos „Crypto iButton“ operacinės sistemos pranašumus. Naudodami „Java iButton“, daugelis esamų „Java“ programuotojų galėtų lengvai išmokti rašyti programėles, kurias būtų galima sukompiliuoti naudojant „Sun Microsystems“ prieinamus standartinius įrankius, įkelti į „Java iButton“ ir paleisti pagal pareikalavimą, kad būtų palaikomos įvairiausios finansinės programos. „Java Card 2.0“ specifikacija suteikė galimybę įdiegti naudingą JVM ir vykdymo laiko aplinkos versiją, turint ribotus išteklius, kuriuos turi mažas procesorius.

„Crypto iButton“ taip pat yra puiki aparatinė platforma „Java“ vykdymui, nes ji naudoja NVRAM programoms ir duomenims saugoti. Turėdamas 6 kilobaitų esamą NVRAM ir galėdamas išplėsti NVRAM talpą iki 128 kilobaitų pagal esamą „iButton“ formos faktorių, „Crypto iButton“ gali paleisti „Java“ su gana dideliu „Java“ kaminu, esančiu NVRAM. Procesoriui vykdant, ši atmintis veikia kaip įprasta didelės spartos operatyvioji atmintis, o ličio energija išsaugo visą mašinos būseną, kol „Java“ žiedas atjungtas nuo skaitytuvo. Todėl nereikia reikalauti, kad su patvariais objektais būtų elgiamasi specialiai - objektai išlieka arba ne, atsižvelgiant į jų taikymo sritį, todėl programuotojas visiškai kontroliuoja objekto patvarumą. Kaip ir įprastoje „Java“, taip ir „Java iButton“ yra šiukšlių surinkėjas, kuris surenka visus objektus, kurie nepatenka į taikymo sritį, ir perdirba atmintį būsimam naudojimui. Appletus galima įkelti ir iškrauti iš „Java iButton“ taip dažnai, kiek reikia. Visos programėlės, šiuo metu įkeltos į „Java iButton“, efektyviai veikia bet kuriuo metu, kai „iButton“ nesiliečia su „Blue Dot“ receptoriumi.

Siūlant „Java Card 2.0“ specifikaciją, „Dallas Semiconductor“ tapo „JavaSoft“ licencija. Susitarime buvo raginama sukurti „Java Card 2.0“ diegimą ir taip pat sukurti „pliuso dalis“, kurios pasinaudotų unikaliomis „Crypto iButtons NVRAM“ galimybėmis, tokiomis kaip galimybė palaikyti tikrą „Java“ kaminą ir šiukšlių surinkimą. Pridedant nuolat veikiantį ličio varomą dienos laiko laikrodį ir didelės spartos, didelio skaičiaus modulinį eksponentą, „Java Card 2.0“ su papildomomis porcijomis „Java iButton“ diegimas žada naują įdomią funkciją, skirtą pažangiai „Java Card“ programos.

Saugokite savo pinigus

„Crypto iButton“ aparatinės įrangos platforma siūlo unikalų specialių funkcijų rinkinį, aiškiai sukurtą tam, kad privatūs raktai ir kita konfidenciali informacija negalėtų tapti prieinami įsilaužėliams. 1 paveiksle parodyta „Crypto iButton“ vidinės konstrukcijos detalė. Silicio antgalis, kuriame yra procesorius, ROM ir NVRAM atmintis, metalurgiškai sujungtas su barjeriniu pagrindu, per kurį atliekami visi elektriniai kontaktai. Šis barjerinis pagrindas ir trigubo sluoksnio metalo konstrukcijos metodai, naudojami silicio gamyboje, veiksmingai neleidžia pasiekti NVRAM saugomų duomenų. Jei bandoma prasiskverbti pro šias kliūtis, NVRAM duomenys nedelsiant ištrinami. Ši konstrukcijos technika ir NVRAM naudojimas saugant privačius raktus ir kitus konfidencialius duomenis užtikrina daug aukštesnį duomenų saugumo laipsnį, nei suteikia EEPROM atmintis. Tai, kad „Crypto iButton“ ir išorinio pasaulio ryšio kelias apsiriboja viena duomenų linija, suteikia papildomą apsaugą nuo aparatūros atakų, apribodamas įsilaužėlių pasiekiamų signalų diapazoną.

Be to, patį procesorių valdo nestabilizuotas žiedinis osciliatorius, veikiantis 10–20 megahercų diapazone, todėl procesoriaus laikrodžio dažnis nėra pastovus ir jo negalima nustatyti išorinėmis priemonėmis. Tai skiriasi nuo alternatyvių įtaisų, kuriuose procesoriaus laikrodžio signalą įterpia skaitytuvas, konstrukcijos, todėl jį tiksliai nustato priimančiosios procesorius. Išorinis laikrodžio valdymas yra vertingas įsilaužėlių įrankis, nes jie gali pakartotinai sukišti tokį procesorių į tą patį jo vykdymo tašką paprasčiausiai taikydami tą patį laikrodžio ciklų skaičių. Laikrodžio valdymas taip pat suteikia galimybę sukelti skaičiavimo klaidą ir taip gauti informaciją, kuri galiausiai gali atskleisti slaptus šifravimo raktus. 32 kilohercų kristalinis osciliatorius naudojamas „Java iButton“, kad veiktų dienos laiko laikrodžiu pastoviu ir gerai valdomu dažniu, nepriklausomu nuo procesoriaus laikrodžio.

„Dallas Semiconductor“ sukūrė daugiau nei 20 milijonų fiziškai saugių atmintinių ir kompiuterių su kietojo apvalkalo pakuotėmis, optimizuotomis asmeniniam laikymui. Todėl „Java iButton“ yra paprasčiausias ir sudėtingiausias ilgos produktų, įrodžiusių savo sėkmę rinkoje, palikuonis. Savo šarvais iš nerūdijančio plieno jis siūlo patvariausias pakuotes tam tikrai klasei, kuri, kaip tikėtina, bus sunkiai naudojama ir piktnaudžiaujama kaip asmeninė nuosavybė. „IButton“ formos faktorius leidžia pritvirtinti prie įvairių asmeninių priedų, įskaitant žiedus, laikrodžių juosteles, raktų pakabukus, pinigines, apyrankes ir karolius, kad vartotojas galėtų pasirinkti variantą, kuris atitiktų jo gyvenimo būdą.