Ohjelmointi

Johdanto Java Ringiin

Tämän kuukauden sarake on jaettu kahteen osaan. Tämän artikkelin sisältämä ensimmäinen osa tarjoaa .historian Java Ring ja sen rakentamiseen käytetty tekniikka sekä lyhyt keskustelu iButtonin soveltuvuudesta turvasovelluksiin ja muihin sovelluksiin. Toinen osa esittelee Java Card 2.0 -sovellusliittymän käyttöä Java iButtonin kanssa ja antaa lukijalle hyvin varhaisen kuvan sovelluksen suunnittelusta, lataamisesta ja kommunikoinnista sitten Java-kortilla olevan sovelluksen kanssa.

Se on yksityiskohdissa

Java Ring on erittäin turvallinen Java-pohjainen elektroninen merkki, jossa on jatkuvasti käynnissä oleva, muuttumaton reaaliaikainen kello ja kestävä pakkaus, joka sopii moniin sovelluksiin. Java-renkaan helmi on Java iButton - miljoona transistoria, yhden sirun luotettava mikrotietokone tehokkaalla Java-virtuaalikoneella (JVM), joka on tukevassa ja turvallisessa ruostumattomasta teräksestä valmistetussa kotelossa. Suunniteltu täysin yhteensopivaksi Java Card 2.0 -standardin kanssa (lisätietoja Java Card 2.0: sta on viime kuussa) Java-kehittäjä sarake "Understanding Java Card 2.0") prosessorissa on nopea 1024-bittinen modulaarinen eksponentti RSA-salausta varten, suuri RAM- ja ROM-muistikapasiteetti sekä muuttumaton reaaliaikainen kello. Pakatulla moduulilla on vain yksi sähköinen kosketin ja maadoitettu paluu Dallas Semiconductor 1-Wire -väylän eritelmien mukaisesti. Litiumtuetettu haihtumaton SRAM tarjoaa suuren luku- / kirjoitusnopeuden ja vertaansa vailla olevan peukaloinnin keston lähes tyhjentämällä koko muistin, kun karkaisu havaitaan. Tämä ominaisuus tunnetaan nimellä nopea nollaaminen. Tietojen eheys ja kellotoiminto säilyvät yli 10 vuoden ajan. Läpimitaltaan 16 millimetrin ruostumattomasta teräksestä valmistettu kotelo mahtuu suuremmille sirukokoille, joita tarvitaan jopa 128 kilotavulle nopeaan haihtumattomaan staattiseen RAM-muistiin. Moduulin pieni ja erittäin kestävä pakkaus antaa sen kiinnittyä valitsemallesi lisävarusteelle yksilöllisten elämäntapojen mukaiseksi, kuten avaimenperä, lompakko, kello, kaulakoru, rannekoru tai sormus.

Historiallinen tausta

Kesällä 1989 Dallas Semiconductor Corp. tuotti ensimmäiset ruostumattomasta teräksestä kapseloidut muistilaitteet Dallas Semiconductor 1-Wire -yhteyskäytäntöä hyödyntäen. Vuoteen 1990 mennessä tätä protokollaa oli puhdistettu ja käytetty monissa erillisissä muistilaitteissa. Alun perin nimeltään "kosketusmuistilaitteet", ne nimettiin myöhemmin uudelleen "iButtonsiksi". Akkujen tavoin pakatuissa iButtons-laitteissa on vain yksi aktiivinen sähkökosketin yläpinnalla, ja ruostumattomasta teräksestä valmistettu kuori toimii maadoituksena.

Tiedot voidaan lukea muistista tai kirjoittaa sarjaan yksinkertaisella ja edullisella RS232C-sarjaporttisovittimella, joka toimittaa myös I / O: n suorittamiseen tarvittavan virran. IButton-muisti voidaan lukea tai kirjoittaa hetkellisellä kosketuksella sovittimen tarjoamaan "Blue Dot" -reseptoriin. Kun sitä ei ole kytketty sarjaporttisovittimeen, muistitiedot säilyvät haihtumattomassa hajasaantimuistissa (NVRAM) elinikäisen litiumenergialähteen avulla, joka ylläpitää muistisisältöä vähintään 10 vuoden ajan. Toisin kuin sähköisesti pyyhittävä ohjelmoitava vain luku -muisti (EEPROM), NVRAM iButton -muisti voidaan pyyhkiä ja kirjoittaa uudelleen niin usein kuin tarpeen kulumatta. Se voidaan myös pyyhkiä tai kirjoittaa suurilla nopeuksilla, jotka ovat tyypillisiä täydentäville metallioksidipuolijohdemuistille (CMOS) ilman EEPROM: n aikaa vievää ohjelmointia.

Perustamisestaan ​​lähtien iButton-muistilaitteita on käytetty suurina määrinä kestävinä kannettavina tietovälineinä, usein vaikeissa ympäristöolosuhteissa. Laajamittaisten käyttötapojen joukossa ovat kauttakuljetuslentoyhtiöt Istanbulissa, Turkissa; Ryder-kuorma-autojen sivuilla olevana huoltotietokantona; ja postilaatikkotunnisteina Yhdysvaltain postipalvelun ulkopostilaatikoiden postilaatikoissa. Kanadan lehmät käyttävät niitä korvakoruina rokotustietojen pitämiseen, ja maataloustyöntekijät käyttävät niitä monilla alueilla tukevina aikakorttien korvikkeina.

IButton-tuotelinja ja sen monet sovellukset on kuvattu Dallas Semiconductorin iButton-verkkosivustolla, joka on lueteltu Resurssit-osiossa. Jokaisella iButton-tuotteella on ainutlaatuinen 8-tavuinen sarjanumero, ja se takaa, ettei kahdella osalla ole koskaan samaa numeroa. Yksinkertaisimpien iButtonien joukossa ovat muistilaitteet, joihin mahtuu tiedostoja ja alihakemistoja ja jotka voidaan lukea ja kirjoittaa kuin pienet levykkeet. Näiden lisäksi on iButtoneja, joilla on salasanasuojatut tiedostoalueet tietoturvasovelluksia varten, iButtoneja, jotka laskevat, kuinka monta kertaa ne on kirjoitettu rahoitustapahtumien turvaamiseksi, iButtoneja lämpötila-antureilla, iButtoneja, joissa on jatkuvasti käynnissä olevat päiväys / kellot, ja iButtons sisältää tehokkaita mikroprosessoreita.

Postin turvalaite

Yli 10 vuoden ajan Dallas Semiconductor on myös suunnitellut, valmistanut ja myynyt sarjaa erittäin turvallisia mikroprosessoreita, joita käytetään satelliitti-tv-salauksenpurkureissa, pankkiautomaateissa, myyntipisteissä ja muissa vastaavissa sovelluksissa, jotka edellyttävät salausturvaa ja korkeaa vastustuskyky hakkereiden hyökkäyksille. Yhdysvaltain postilaitoksen (USPS) Information Based Indicia Program Postal Security Device Specification, jonka tarkoituksena on sallia kelvollisten Yhdysvaltain postimerkkien tulostaminen mille tahansa tietokoneelle, tarjosi ensimmäisen mahdollisuuden yhdistää kaksi osaamisaluetta, kun turvallinen mikroprosessori suunniteltiin iButtoniksi.

Tuloksena oleva tuote, nimeltään Salaus iButton, yhdistää prosessorin korkean suorituskyvyn, nopeat salausprimitiivit ja poikkeuksellisen suojan fyysisiä ja salaushyökkäyksiä vastaan. Esimerkiksi suuri kokonaislukuinen modulaarinen eksponentointimoottori voi suorittaa 1024-bittiset modulaariset eksponentit 1024-bittisen eksponentin kanssa huomattavasti alle sekunnissa. Kyky suorittaa suuria kokonaislukumoduulierotuksia suurella nopeudella on keskeistä RSA-salauksessa, Diffie-Hellman-avaimenvaihdossa, Digital Signature Standardissa (FIPS 186) ja monissa muissa nykyaikaisissa salaustoiminnoissa.

Dallas Semiconductorin ja RSA Data Security Inc: n välinen sopimus tarjoaa maksullisen lisenssin kaikille, jotka käyttävät Crypto iButtonia RSA-salauksen ja digitaalisten allekirjoitusten suorittamiseen, joten RSA-salaustekniikan lisensointia ei tarvita. Korkean turvallisuuden takaa kyky poistaa NVRAM-muistin sisältö erittäin nopeasti. Tämä ominaisuus, nopea nollaaminen, on vaatimus korkean tietoturvan laitteille, joihin hakkerit voivat altistua. Korkean tietoturvansa ansiosta Crypto iButtonin odotetaan voittavan NIST: n (National Institute of Standards and Technology, NIST) myöntämä FIPS 140-1 -turvallisuussertifikaatti.

Erityinen käyttöjärjestelmä suunniteltiin ja tallennettiin Crypto iButtonin ROM-muistiin tukemaan salausta ja yleiskäyttöisiä rahoitustapahtumia - kuten postipalveluohjelman edellyttämiä. Vaikka se ei olekaan Java-virtuaalikone, tätä sovellusta varten suunnitellulla verkkokaupan laiteohjelmistolla oli useita yhtäläisyyksiä Java: n kanssa, mukaan lukien olio-suunnittelu ja tavukooditulkki Dallas Semiconductorin räätälöidyn sähköisen kaupankäynnin kielen tulkitsemiseksi ja suorittamiseksi. Kääntäjä kirjoitettiin myös kääntämään komentosarjakielen korkean tason kieliesitys tavukoodilomakkeeksi, jonka verkkokaupan virtuaalikone voisi tulkita. Vaikka verkkokaupan laiteohjelmisto oli tarkoitettu ensisijaisesti USPS-sovellukseen, laiteohjelmisto tukee useita yleisiä sähköisen kaupankäynnin malleja, jotka soveltuvat moniin erilaisiin sovelluksiin. Verkkokaupan laiteohjelmisto tukee myös salaustekniikoita turvallista tiedonvaihtoa varten, kuten Sun Microsystems Inc: n kehittämä SKIP (Simple Key-Management for Internet Protocol, SKIP). Verkkokaupan iButton ja sen ohjelmointiin tarkoitettu SDK on kuvattu yksityiskohtaisesti salauksessa iButtonin kotisivu (katso Resurssit).

Java-yhteys

Dallas Semiconductorin laiteohjelmiston suunnittelutiimi sai kokemuksensa e-Commerce-käyttöjärjestelmän ja virtuaalikoneen suunnittelusta Crypto iButton -laitteistoalustalle ja pystyi helposti ymmärtämään Java-pohjaisen Crypto iButtonin uuden käyttöjärjestelmän edut. Java iButtonin avulla suuri osa olemassa olevista Java-ohjelmoijista voisi helposti oppia kirjoittamaan sovelmia, jotka voidaan kääntää Sun Microsystems -yhtiön vakiotyökaluilla, ladata Java iButton -laitteeseen ja käyttää pyydettäessä tukemaan monenlaisia ​​taloudellisia sovelluksia. Java Card 2.0 -erittely antoi mahdollisuuden toteuttaa hyödyllinen versio JVM- ja ajonaikaisesta ympäristöstä pienillä prosessoreilla käytettävissä olevien rajallisten resurssien avulla.

Crypto iButton tarjoaa myös erinomaisen laitteistoalustan Java-ohjelman suorittamiseen, koska se käyttää NVRAM-muistia ohjelmien ja tietojen tallentamiseen. Koska 6 kilotavua olemassa olevaa NVRAM-muistia ja mahdollisuus laajentaa NVRAM-kapasiteettia jopa 128 kilotavuun olemassa olevalla iButton-muodoltaan, Crypto iButton voi suorittaa Java-ohjelman suhteellisen suurella Java-pinoilla, joka sijaitsee NVRAM-muistissa. Tämä muisti toimii tavanomaisena nopeana RAM-muistina prosessorin suorituksen aikana, ja litiumenergia säilyttää koneen täydellisen tilan, kun Java-rengas on irrotettu lukijasta. Siksi ei ole olemassa vaatimusta käsitellä pysyviä objekteja erityisellä tavalla - objektit jatkuvat tai eivät, riippuen niiden laajuudesta, joten ohjelmoijalla on täydellinen hallinta objektien pysyvyydessä. Kuten tavallisessa Javassa, Java iButton sisältää roskien keräilijän, joka kerää kaikki objektit, jotka eivät kuulu soveltamisalaan, ja kierrättää muistin tulevaa käyttöä varten. Appletit voidaan ladata ja purkaa Java iButtonista niin usein kuin tarvitaan. Kaikki tällä hetkellä Java iButtoniin ladatut sovelmat suorittavat tehokkaasti nollanopeudella milloin tahansa, kun iButton ei ole kosketuksessa Blue Dot -reseptorin kanssa.

Koska Java Card 2.0 -erittelyä ehdotettiin, Dallas Semiconductorista tuli JavaSoft-lisenssinhaltija. Sopimus vaati Java Card 2.0 -toteutuksen kehittämistä ja myös "plus-osien" suunnittelua, jotka hyödyntävät Crypto iButtons NVRAM: n tarjoamia ainutlaatuisia ominaisuuksia, kuten mahdollisuutta tukea aitoa Java-pinoa ja roskien keräystä. Jatkuvan litiumkäyttöisen kellonajan ja nopean, suurikokoisen modulaarisen eksponentointimoottorin lisäämisen ansiosta Java Card 2.0: n Java iButton -toteutus plus-osilla lupaaa uuden jännittävän ominaisuuden edistyneelle Java-kortille sovellukset.

Pidä rahasi turvassa

Crypto iButton -laitteistoalusta tarjoaa ainutlaatuisen joukon erikoisominaisuuksia, jotka on nimenomaisesti suunniteltu estämään yksityisten avainten ja muun luottamuksellisen tiedon pääsy hakkereille. Kuva 1 esittää yksityiskohdan Crypto iButtonin sisäisestä rakenteesta. Piisuutin, joka sisältää prosessorin, ROM-muistin ja NVRAM-muistin, on metallurgisesti sidottu estosubstraattiin, jonka kautta kaikki sähköiset kontaktit muodostetaan. Tämä estosubstraatti ja piin valmistuksessa käytetyt kolmikerroksiset metallirakennustekniikat estävät tehokkaasti pääsyn NVRAM-muistiin tallennettuihin tietoihin. Jos näitä esteitä yritetään tunkeutua, NVRAM-tiedot poistetaan välittömästi. Tämä rakennustekniikka ja NVRAM: n käyttö yksityisten avainten ja muun luottamuksellisen tiedon tallentamiseen tarjoavat paljon korkeamman tietoturvan kuin EEPROM-muisti. Se, että Crypto iButtonin ja ulkomaailman välinen tietoliikennepolku on rajoitettu yhteen tietolinjaan, tarjoaa lisäsuojaa laitteistohyökkäyksiä vastaan ​​rajoittamalla hakkereiden käytettävissä olevien signaalien määrää.

Lisäksi prosessoria itse ohjaa stabiloimaton rengasoskillaattori, joka toimii 10-20 megahertsin alueella, niin että prosessorin kellotaajuus ei ole vakio eikä sitä voida määrittää ulkoisilla keinoilla. Tämä eroaa vaihtoehtoisten laitteiden suunnittelusta, joissa lukija ruiskuttaa prosessorin kellosignaalin ja minkä vuoksi isäntäprosessori määrittää sen tarkasti. Kellon ulkoinen ohjaus tarjoaa arvokkaan työkalun hakkereille, koska he voivat ajoittaa tällaisen prosessorin toistuvasti samaan pisteeseen suorittamalla yksinkertaisesti saman määrän kellojaksoja. Kellon hallinta tarjoaa myös keinon aiheuttaa laskuvirhe ja siten saada tietoa, joka voi lopulta paljastaa salaiset salausavaimet. Java iButtonissa käytetään 32 kilohertsin kideoskillaattoria käyttämään kelloaikaa vakiona ja hyvin hallitulla taajuudella, joka on riippumaton prosessorin kellosta.

Dallas Semiconductor on tuottanut yli 20 miljoonaa fyysisesti suojattua muistia ja tietokonetta, joissa on kova kuori, joka on optimoitu henkilökohtaiseen hallussapitoon. Java iButton on siis yksinkertaisesti viimeisin ja monimutkaisin jälkeläinen pitkälle tuotteelle, joka on osoittautunut erittäin menestyväksi markkinoilla. Ruostumattomasta teräksestä valmistetulla panssarillaan se tarjoaa kestävimmät pakkaukset tuoteryhmälle, joka todennäköisesti kärsii runsaasta käytöstä ja väärinkäytöksistä henkilökohtaisena omaisuutena. IButton-muotokerroin mahdollistaa kiinnityksen monenlaisiin henkilökohtaisiin lisävarusteisiin, kuten renkaisiin, rannekkeisiin, avaimenperiin, lompakkoihin, rannekoruihin ja kaulakoruihin, jotta käyttäjä voi valita elämäntapaansa sopivan muunnelman.