FI106495B - Verkkoelementti - Google Patents

Verkkoelementti Download PDF

Info

Publication number
FI106495B
FI106495B FI990800A FI990800A FI106495B FI 106495 B FI106495 B FI 106495B FI 990800 A FI990800 A FI 990800A FI 990800 A FI990800 A FI 990800A FI 106495 B FI106495 B FI 106495B
Authority
FI
Finland
Prior art keywords
driver
network element
data
processing
network
Prior art date
Application number
FI990800A
Other languages
English (en)
Swedish (sv)
Other versions
FI990800A0 (fi
FI990800A (fi
Inventor
Mikael Linden
Olli Immonen
Mikko Lukkaroinen
Piotr Cofta
Original Assignee
Nokia Mobile Phones Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Mobile Phones Ltd filed Critical Nokia Mobile Phones Ltd
Priority to FI990800A priority Critical patent/FI106495B/fi
Publication of FI990800A0 publication Critical patent/FI990800A0/fi
Priority to PCT/FI2000/000272 priority patent/WO2000062174A1/en
Priority to AU38209/00A priority patent/AU3820900A/en
Priority to EP00917087A priority patent/EP1171822A1/en
Priority to US09/546,439 priority patent/US7315942B1/en
Publication of FI990800A publication Critical patent/FI990800A/fi
Application granted granted Critical
Publication of FI106495B publication Critical patent/FI106495B/fi

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

1 106495
Verkkoelementti
Esillä oleva keksintö koskee tiedonsiirtoa ja erityisesti tiedonsiirtoverkon 5 verkkoelementti, joka käsittää tiedonsiirtovälineet tiedon lähettämiseksi ja vastaanottamiseksi tiedonsiirtoverkosta, joka tieto käsittää yhden tai useampia suorituskäskyjä; käsittelyvälineet määrätyssä muodossa annetun tiedon käsittelemiseksi; ja ohjausvälineet vastaanotetun suorituskäskyn muokkaamiseksi käsittelyvälineiden edellyttämään muotoon.
10
Ajuriksi (englanniksi:driver) kutsutaan elektronisten laitteiden yhteydessä yleisesti toiminnallista yksikköä tai kriteeriä, joka käyttää tai ohjaa toista järjestelmää tai komponenttia. Tyypillisesti ajuri muodostuu ohjelmistomoduulista, joka sisältää tarvittavat toiminnallisuudet laitteistoyksikön kytkemiseksi järjestelmään määrätyn 15 laitteistorajapinnan välityksellä. Tämä tarkoittaa etupäässä laitteistoyksikköön liittyvää ohjelmakokonaisuutta, joilla järjestelmän antamat käskyt tulkitaan ja muokataan laitteistoyksikön ymmärtämään muotoon ja päinvastoin.
Langattomien päätelaitteiden käytön laajentuessa ääniviestinnästä muihin 20 mediamuotoihin ja datapalveluihin, ajureiden tarve päätelaitteeseen lisättävien toimintojen tukemiseksi kasvaa. Langattomille päätelaitteille on tyypillistä tavanomaisia päätelaitteita pienempi muistikapasiteetti ja suorituskyky, ja tämä vaikuttaa myös ajureiden järjestämiseen mainitussa ympäristössä.
25 Eräs esimerkki nopeasti kasvaneesta kehityssuunnasta on langattoman päätelaitteen avulla käytettävät älykorttisovellukset. Älykortin käyttöä varten päätelaitteeseen on liitetty kortinlukija, johon käyttäjä palvelutapahtuman yhteydessä asettaa älykortin. Älykortin käytön hallintaan liittyvät komennot käyttäjä antaa päätelaitteen käyttöliittymän avulla. Päätelaite hoitaa tarvittaessa 30 yhteyden sovellusta ylläpitävän palvelimeen ja käsittää ajurin, joka ohjaa palvelutapahtumaan liittyviä toimintoja sekä palvelimen että kortin suuntaan.
2 106495
Yleistyneitä älykorttisovelluksia ovat esimerkiksi elektroniset kukkarot, joihin liittyviä palveluntarjoajia on jo useampia. Tyypillisesti kullakin kukkarosovelluksella on oma matalan tason rajapintansa, joka on vielä erilainen sen mukaan mistä kukkarosovelluksesta on kyse tai minkä tyyppinen korttiyhdistelmä on kyseessä.
5 Yhdellä kortilla voi olla myös useampia älykorttisovelluksia, kuten esimerkiksi asiakaspalkkiosovellus, käytönseurantasovellus jne. Jo nyt voidaan nähdä, että sovellusten ja laitevalmistajien määrän kasvaessa erillisen ajurin järjestäminen monille eri vaihtoehdoille tulee aiheuttamaan ongelmia langattomassa päätelaitteessa tarvittavan ohjelmiston ja päätelaitteen muistintarpeen osalta.
10
Yleensä ajuri järjestetään langattomaan päätelaitteeseen konekielisenä koodina, jonka laitevalmistaja sisällyttää päätelaitteen ohjelmistoon jo tuotantovaiheessa. Tämä tarkoittaa sitä, että päätökset siitä mitä älykorttisovelluksia tuetaan tehdään jo varhaisessa vaiheessa ja oleellisesti laitevalmistajan toimesta. Eri 15 laitevalmistajat voivat tukea eri sovelluksia tai jopa saman laitevalmistajan eri mallisukupolvet voivat tukea eri sovelluksia, mikä lisää tuotevalikoiman kirjavuutta ja vaikeuttaa käyttäjien päätöksiä vaihtoehtoja tehtäessä. Päätelaitteen ohjelmisto on altis vanhentumiselle, ja ohjelmistoversioiden ylläpitäminen vaatii lisätyötä palvelun kaikilta osapuolilta. Joissakin kehittyneemmissä malleissa (esimerkiksi 20 Nokia 9110 Communicator) on mahdollisuus ladata konekielistä koodia jälkikäteen päätelaitteen muistiin, mutta tällaisessa ratkaisussa päädyttäisiin vastaavasti ylläpitämään tietoa kunkin laitevalmistajan tavasta järjestää koodin lataus jälkikäteen. Uuden palveluntarjoajan kannalta tekniikan tason mukainen järjestely on hankala, sillä palveluntarjoaja joutuu varsinaisen asiakasmyynnin lisäksi 25 huolehtimaan, että mahdollisimman monet laitevalmistajat ovat halukkaita tukemaan kyseistä palvelua.
Nyt on keksitty ratkaisu, jonka avulla voidaan muodostaa yhteys verkkoelementin ja verkkoelementissä toteutettavien sovellusten välille joustavalla ja silti 30 turvallisuuden ylläpitämisen edellyttämällä tavalla. Eräs edullinen suoritusmuoto on tuen aikaansaaminen uusille älykorttisovelluksille langattomassa päätelaitteessa tai siihen toiminnallisesti yhdistettävissä olevan lisälaitteen avulla.
106495 3
Keksinnön mukaisessa ratkaisussa verkkoelementin ohjausvälineet käsittävät ajurin, jonka alkuperä on varmennettavissa elektronisen allekirjoituksen avulla; ja yhden tai useampia käsittelyvälineiden toimintaa ohjaavia funktioita, jotka ovat käynnistettävissä vain ajurilla, jonka alkuperä on varmennettu elektronisen 5 allekirjoituksen avulla.
Keksinnössä hyödynnetään uusien järjestelmäalustojen tarjoamaa mahdollisuutta siirtää suurempia määriä tietoa, erityisesti ohjelmakoodia, radiorajapinnan yli. Keksinnön mukaisessa ratkaisussa tiettyyn sovellukseen liittyvä ajuri järjestetään 10 edullisesti palvelimelle, josta se on ladattavissa sovellusta toteuttavaan verkkoelementtiin. Ajuri toteutetaan tavukäännettynä koodina (byte compiled code) ja tallennetaan verkkoelementtiin (esimerkiksi päätelaitteen haihtumattomaan muistiin, edullisesti flash-muistiin). Ajuri tarjoaa vakiomuotoisen, ylemmän tason sovellusrajapinnan (High Level Application Programming 15 Interface, HL-API) verkkoelementissä toteutettaville sovelluskoodeille, jotka käyttövaiheessa edullisesti ladataan verkkoelementtiin. Älykorttiratkaisun yhteydessä tiedonsiirrossa älykortin suuntaan ajuri käyttää sovelluskohtaisen yhteyskäytännön mukaisia tietoyksiköitä (Application Protocol Data Unit, APDU). Päätelaitteelle on tallennettu, edullisesti konekielisenä, koodikirjasto, jonka 20 funktioita ajuri kutsuu tiedonsiirtotapahtumien yhteydessä antaen funktiolle parametrinä kulloinkin tarvittavan APDUn .
Turvallisuuden ylläpitämiseksi edullisesti ajurin julkaisija varustaa ajurin elektronisella allekirjoituksella, jonka avulla voidaan varmentaa se, että ladattava 25 tavukäännetty koodi on nimenomaan allekirjoittajan julkaisema ohjelmisto. Elektroninen allekirjoitus voidaan tarkistaa ajurin latausvaiheessa, tai haluttaessa esimerkiksi ajurin käynnistyksen yhteydessä. Jos ajurin alkuperää ei voida elektronisen allekirjoituksen avulla varmentaa, ajuri hylätään. Keksinnön mukaisessa ratkaisussa verkkoelementtiin edullisesti tuotantovaiheessa kiinteästi 30 tallennettu koodikirjasto käsittää ainakin kaksi osaa, vakiokirjaston ja suljetun kirjaston. Vakiokirjasta sisältää yhden tai useampia funktioita, joita voidaan kutsua mistä tahansa sovelluskoodista käsin. Suljetun kirjaston funktioita sen sijaan voi , 106495 4 hyödyntää vain soveliuskoodi, jonka elektroninen allekirjoitus on hyväksyttävästi tarkistettu.
Keksintö helpottaa uusien sovellusten tukemista verkkoelementeissä, esimerkiksi 5 älykorttisovellusten tuen järjestämistä liikkuviin päätelaitteisiin. Ajuri on edullisesti ladattavissa päätelaitteeseen ilmarajapinnan yli jolloin tavukäännetyn koodin ja vakiomuotoisen alemman tason rajapinnan ansiosta sama ajuri soveltuu käytettäväksi erilaisissa päätelaitteissa, valmistajasta tai edes päätelaitetyypistä riippumatta. Mahdollisuus käyttää päätelaitteeseen tallennettua ajuria, joka tarjoaa 10 vakiomuotoisen ylemmän tason rajapinnan pienentää sovelluskoodin kokoa ja siten samalla yhteysaikaa palvelutapahtumien yhteydessä. Ajuri voi itsessään olla suhteellisen suurikokoinen, mutta koska se on tallennettavissa päätelaitteelle, lataustoimenpide joudutaan tekemään harvoin. Sovellusohjelmoijan ei tarvitse huolehtia siitä miten sovellukset toteutetaan alemmalla tasolla tai miten 15 toteutukset poikkeavat toisistaan, tai välttämättä edes minkälaisella päätelaitteella tai päätelaitteen lisälaitteella sovellus on tarkoitus toteuttaa.
Keksinnön mukainen ratkaisu on turvallinen, sillä potentiaalisesti turvallisuutta vaarantavat toiminnot keskittyvät ajuriin, jonka julkaisija on aina todennettavissa 20 elektronisen allekirjoituksen avulla. Lisäksi myös niiden sovellusten toteutus, jossa ei tarvita suljetun kirjaston tietoyksiköiden avulla toteutettavia toiminnallisuuksia, hyötyy aikaansaadusta joustavuudesta. Organisaatioille, joille sovellusten tarjoaminen ei perinteisesti ole turvallisuusnäkökohtien valossa kovinkaan helppoa, tuo keksinnön tarjoama mahdollisuus sovellusten alkuperän 25 varmistamiseksi käytettävän ajurin allekirjoituksen perustella helpomman keinon turvallisuusvaatimuksiltaan vaativampien sovellusten aikaansaamiseksi.
Keksintöä selostetaan seuraavassa yksityiskohtaisesti viittaamalla oheisiin piirustuksiin, joissa: 30 kuviossa 1 on esitetty periaatekuva WAP-mallista (Wireless Application Protocol); kuvion 2 lohkokaavion avulla on havainnollistettu asiakkaana käytettävää langatonta päätelaitetta; 5 106495 kuviossa 3 tarkastellaan periaatetasolla keksinnön mukaista älykorttisovelluksen toteutusta toiminnallisuuksien mukaisesti esitettynä; kuviossa 4 on esitetty tarkemmin keksinnön mukainen järjestely älykorttisovelluksen toteuttamiseksi langattomassa päätelaitteessa; 5 kuviossa 5 on esitetty eräs keksinnön suoritusmuoto; ja kuviossa 6 on havainnollistettu järjestely yhteen käyttötarkoitukseen tarkoitettujen sovellusten toteuttamiseksi päätelaitteella.
WAP (Wireless Application Protocol) on WAP Forum -yhteenliittymän määrittämä 10 järjestely Internetin ja kehittyneiden datapalveluiden saannin toteuttamiseksi langattomissa päätelaitteissa. WAP tarjoaa periaatteessa skaalautuvan ja laajennettavissa olevan kokonaisuuden, jonka kerrosrakenteisessa arkkitehtuurissa tietty yhteyskäytäntökerros tarjoaa palveluita seuraavalle kerrokselle. WAP-arkkitehtuuri on hyvin lähellä Internetistä tunnettua WWW-15 mallia, mutta siihen on tehty langattoman ympäristön vaatimia optimointeja ja muutoksia. Kuviossa 1 on esitetty periaatekuva WAP-mallista, joka mahdollistaa asiakkaan ja palvelimen välisen neuvottelun palvelimella säilytettävän dataobjektin tarjoamiseksi lukijalle ymmärrettävässä muodossa. Asiakas 1 lähettää langattoman verkon 2 yli yhdyskäytävälle 3 koodatun palvelupyynnön, jonka 20 yhdyskäytävä 3 dekoodaa ja välittää Internetin 4 välityksellä palvelimelle 5. Palvelin 5 lähettää pyydetyn sisällön yhdyskäytävälle 3, joka koodaa sisällön ja lähettää sen palvelupyynnön tehneelle asiakkaalle 1. Vastaanotettu dataobjekti ' on tulostettavissa käyttäjän tarkasteltavaksi asiakkaan yhteydessä olevan käyttöliittymän välityksellä.
25
Kuvion 2 lohkokaavion havainnollistaa asiakkaana käytettävää langatonta päätelaitetta. Esitetyssä suoritusmuodossa päätelaitteena on käytetty matkaviestintä keksintöä käytettyyn laitetyyppiin tai termeihin rajoittamatta. Päätelaite voi olla mikä tahansa langaton tietoliikenneväline, kuten esimerkiksi 30 kaksisuuntainen hakulaite, langaton PDA-laite (Personal Digital Assistant), IP-protokollaa käyttävä WLAN-päätelaite (Wireless Local Area Network) tai kannettava tietokone, joka on varustettu laitteistoporttiin lisättävällä antennin 6 10649.5 käsittävällä matkaviestinverkkokortilla. Kuvion 2 lohkokaaviossa kuvattu matkaviestin sisältää radioteitse tapahtuvaa kommunikointia varten radioyksikön, joka käsittää tavanomaisesta matkaviestimestä tunnetun lähetinhaaran (käsittäen kanavakoodauksen, lomituksen, salauksen, moduloinnin ja lähetyksen suorittavat 5 toimintalohkot) 21, vastaanotinhaaran (käsittäen vastaanoton, demoduloinnin, salauksen purun, lomituksen purun sekä kanavadekoodauksen suorittavat toimintolohkot) 22, radioteitse tapahtuvaa lähetystä varten vastaanoton ja lähetyksen erottavan duplex-suodattimen 23 ja antennin 24. Päätelaitteen toimintaa kokonaisuudessaan ohjaa keskusyksikkö 25, joka myös toteuttaa 10 päätelaitteen yhteyskäytännön mukaiset toiminnallisuudet. Matkaviestin käsittää muistin 26, joka sisältää haihtuvaa ja haihtumatonta muistia, ja liityntäyksikön 27, joka käsittää yhden tai useampia laitteistoportteja sisäisten tai ulkoisten lisälaitteiden liittämiseksi matkaviestimeen. Käyttäjän kanssa suoritettavaa kommunikointia varten päätelaite käsittää käyttöliittymän, joka sisältää tyypillisesti 15 näppäimistön, näytön, mikrofonin ja kaiuttimen. Älykorttisovellusten yhteydessä liityntäyksikkö 27 käsittää kortinlukijan, jonka välityksellä keskusyksikkö 25 kommunikoi lukijaan asetetun kortin kanssa. Yhteys palvelimeen toteutetaan radioyksikön 21, 22, 23, 24 välityksellä. Keskusyksikkö 25 ohjaa älykorttisovelluksen toteutusta suorittamalla laitteen muistiin 26 ohjelmallisesti tai 20 laitteistorakentein järjestetyt toiminnot, ja edullisesti palvelimelta päätelaitteeseen ladatun sovelluskoodin toiminnot.
Kuviossa 2 esitettiin kuvion 1 mukaisena asiakkaana toimivan langattoman päätelaitteen rakenteelliset yksiköt, erityisesti älykorttisovellusten kannalta. 25 Kuviossa 3 esitellään vastaavasti keksinnön mukaisen ratkaisun toiminnalliset elementit. Kuvion 3 asiakas muodostuu langattomasta päätelaitteesta 10 ja älykortista 15. Älykorttisovelluksen käynnistyttyä päätelaitteelle 10 ladataan palvelimelta sovelluskoodi 31. Päätelaite 10 käsittää ajurin 32, joka ladatun sovelluskoodin käynnistämänä kutsuu laitteeseen tallennetusta koodikirjastosta 33 30 funktioita, jotka toteuttavat määrätyn tiedonsiirtoyhteyden määrätyn laiteyksikön, kuvion 3 esimerkissä älykortin 15, kanssa. Tiedonsiirtoyhteys toteutetaan 7 106495 funktioiden sisältämien, sovellusyhteyskäytännön mukaisten tietoyksiköiden (Application Protocol Data Unit, APDU) välityksellä.
Kuviossa 4 on esitetty tarkemmin keksinnön mukainen järjestely 5 älykorttisovelluksen toteuttamiseksi langattomassa päätelaitteessa. Päätelaitteelle on ladattu yksi tai useampia ajureita 41,42, 43, jotka on tallennettu päätelaitteelle tavukoodatussa muodossa. Tavukäännetty koodi tarkoittaa tässä yhteydessä lähdekoodista käännettyä ohjelmaa, jonka käskyt ovat suoritettavissa päätelaitteelle järjestetyllä virtuaalikoneella. Virtuaalikone tässä yhteydessä 10 tarkoittaa ohjelmistoa, joka sisältyy laitteen järjestelmäalustaan, ja joka mahdollistaa virtuaalikoneen tukemalla kielellä toteutetun, laitteelle ladatun tavukäännetyn koodin suorittamisen laitteessa. Tavukäännetyn koodin etuna on, että sovellusohjelmia voidaan kehittää huolehtimatta siitä, mikä sovelluksen käyttöympäristö on. Koodi on vakiomuotoista, joten sovellusten käyttäjäpäässä on 15 vain huolehdittava, että oikea virtuaalikone sisältyy laitteen järjestelmäalustaan.
Tunnetuin esimerkki tavukäännetystä koodista on www-ympäristöstä tunnettu Java. WAP-sovelluskerros WAE (Wireless Application Environment) tarjoaa rajoitettuun ympäristöön soveltuvan mikroselaimen, jossa tiedon kuvauskieli on 20 WML (Wireless Markup Language), ja ohjelmointikieli WMLScript. WMLScript on joiltakin ominaisuuksiltaan JavaScript-ohjelmointikielen kaltainen, mutta WMLScript on optimoitu toimimaan rajoitettua kaistanleveyttä käyttävissä muisti-ja laskentakapasiteetiltaan rajoitetuissa päätelaitteissa.
25 Ajurit 41, 42, 43 tarjoavat vakiomuotoisen ylemmän tason rajapinnan (High Level Application Programming Interface, HL-API) päätelaitteeseen käyttövaiheessa ladattavalle sovelluskoodille. Edullisesti samaan käyttötarkoituksiin tarkoitetuille eri sovelluksille määritetään yhteinen rajapinta, jolloin sovellusta ohjelmoivan osapuolen ei tarvitse välttämättä huolehtia sovellusten välisistä eroista, ja 30 ohjelmointi helpottuu. Esimerkiksi kuviossa 4 rajapinta 44 on elektroniseen kukkaroon liittyvien sovellusten rajapinta, rajapinta 45 on 8 106495 asiakaspalkkiosovelluksiin liittyvä rajapinta ja rajapinta 46 on potilastietosovelluksiin liittyvä rajapinta.
Päätelaitteeseen 10 tallennettu koodikirjasto käsittää kaksi osaa, vakiokirjaston 41 5 ja suljetun kirjaston 42. Koodikirjastot 41, 42 käsittävät edullisesti yhden tai useampia konekielisessä muodossa tallennettuja funktioita. Konekielinen koodi tässä yhteydessä tarkoittaa lähdekielisestä ohjelmasta kääntäjällä käsiteltyä tiedostoa, joka on valmis suoritettavaksi laitteen suorittimella laitteen käyttöjärjestelmän kutsusta. Keksinnön mukaisen vakiokirjaston 41 funktiot ovat 10 perusfunktioita (esimerkiksi käyttöliittymän toiminnot, matemaattiset funktiot), joita voi kutsua mikä tahansa päätelaitteeseen tallennettu tai ladattu ajuri.
Suljettu kirjasto 48 käsittää funktioita, jotka mahdollistavat läpinäkyvän tiedonsiirron sovelluskoodin ja älykortin 15 välillä. Tällainen funktio voi olla 15 esimerkiksi sendAPDU(CommandAPDU), jolle annetaan parametriksi sovelluskoodin HL-API-käskyn mukaisen ajurin sisältämä APDU. Ajurin ja älykortin välillä on siis geneerinen alemman tason rajapinta (Low Level Application Programming Interface, LL-API), ja oleellisesti mitkä tahansa käynnistettyyn sovellukseen liittyvät sovelluskoodin komennot välittyvät läpinäkyvästi ajurin läpi 20 älykortille ja päinvastoin. HL-API helpottaa sovelluskoodin laatimista, koska sovelluksen laatijan ei tarvitse välttämättä tuntea yksittäisten ratkaisujen detaljeja; LL-API vastaavasti mahdollistaa ajurista riippumattoman läpinäkyvän tiedonsiirtoyhteyden ajurin ja älykortin välillä.
25 On kuitenkin selvää, että esitetyn järjestelyn geneerisyys tällaisenaan sisältää potentiaalisen riskin epärehellisten sovellustarjoajien tai sovelluskoodin laatijoiden suhteen. Sovelluskoodin kirjoittaja voisi esimerkiksi sisällyttää koodiin käskyn siirtää jokaisen kukkarotransaktion yhteydessä pienen summan rahaa omalle tililleen. Turvallisuusriskin välttämiseksi keksinnön mukaisessa järjestelyssä 30 suljetun kirjaston funktioita voi kutsua vain ajuri, jonka alkuperä on elektronisen allekirjoituksen avulla varmistettu.
106495 9
Elektronisessa allekirjoituksessa hyödynnetään julkisen avaimen salaustekniikkaa, esimerkiksi RSA-algoritmia., lisäksi WAP-ympäristössä elektronisissa allekirjoituksissa hyödynnetään muun muassa elliptisiä käyriä. Eri allekirjoitustekniikoin toteutetut ratkaisut ovat keksinnön kannalta ekvivalentteja.
5 Seuraavassa esitetään kuvion 5 toimenpidekaavion avulla eräs mahdollinen suoritusmuoto. Allekirjoitettava viesti 51, eli tässä tapauksessa palvelimella oleva ajurikoodi käsitellään tiivistefunktiolla 52, joka määrätyn algoritmin (esimerkiksi MD5) avulla laskee viestistä määrämittaisen tiivisteen 53. Tiivistefunktio 52 on yksisuuntainen funktio, jonka tuottama tiiviste 53 muuttuu heti, jos alkuperäistä 10 viestiä 51 muutetaan vähänkin. Tiiviste 53 käsitellään salausfunktiolla 54 käyttäen salausavaimena ajurin julkistajan salaista avainta. Toimenpiteen tulos on elektroninen allekirjoitus 55, joka liitetään ajurikoodiin. Kun ajuri halutaan verifioida, allekirjoitus ensin avataan käyttäen ajurin julkistajan julkista avainta. Tämän jälkeen ajurikoodi käsitellään tiivistefunktiolla. Jos mainittu julkinen avain 15 avaa allekirjoituksen ja avattu merkkijono vastaa laskettua tiivistettä, tiedetään, että ajuri on peräisin halutusta lähteestä ja ettei koodia ole käsitelty julkistuksen jälkeen. Luottamusketju edellyttää olennaisesti julkisen avaimen siirtoa, ja aikaansaatu turvallisuustaso on erittäin hyvä.
20 Kuviossa 6 on havainnollistettu yksityiskohtaisemmin järjestely yhteen käyttötarkoitukseen tarkoitettujen sovellusten toteuttamiseksi päätelaitteella. Kuvion 6 tapauksessa kyseessä on elektroninen kukkaro, jossa jokaiselle kukkarosovelluksen tarjoajalle on edullisesti tarjoajan itsensä määrittämä ajuri 61, 62, 63, joka voidaan ladata päätelaitteelle tarvittaessa palvelimelta.
25 Maksutapahtumaan liittyvä sovelluskoodi voi kuitenkin HL-APIn ansiosta olla sama kaikille eri kukkarosovelluksille. Ladattu ajuri, jonka oikeellisuus on varmistettu elektronisen allekirjoituksen avulla, joko latauksen yhteydessä tai maksutapahtuman yhteydessä, pystyy kutsumaan sekä vakiokirjaston että suljetun kirjaston funktioita, ja siten ohjata maksutapahtuman suoritusta 30 turvallisuusvaatimukset ylläpitäen maksupalvelimen ja älykortin välillä.
10 10649,5
Seuraavassa tarkastellaan esimerkin avulla ajurin latausta päätelaitteelle. Käyttäjä on tehnyt sopimuksen älykorttiperusteista maksusovellusta tarjoavan yrityksen X kanssa. Yritys antaa käyttäjälle älykortin, joka sisältää elektronisen kukkarosovelluksen XCash. Saadakseen kyseiseen XCash-sovellukseen liittyvän 5 ajurin päätelaitteeseensa käyttäjä esimerkiksi: a) aktivoi WAP-puhelimensa, johon on liitetty ulkoinen älykortin lukija. Hän lähettää yrityksen X WAP-palvelimelle (esimerkiksi valitsemalla sopivan linkin) pyynnön ladata XCash-tuki WAP-puhelimeensa. Tai b) työntää uuden XCash-kortin WAP-puhelimen kortinlukijaan. Kortinlukija eli 10 päätelaite lähettää älykortille nollaussignaalin (Reset), ja nollauksen jälkeen älykortti vastaa lähettämällä nollausvastaussekvenssin (Answer To Reset, ATR) kortinlukijalle. ATR-vastauksessa saadun tiedon perusteella kortinlukija päättelee, että kyseessä on uusi maksukorttisovellus, ja käynnistää automaattisesti ajurin latauksen palvelimelta. Voidakseen käynnistää latauksen, päätelaite tarvitsee 15 osoitetiedon paikallistaakseen sen palvelimen, josta ajuri on ladattavissa. Osoite (esim. Universal Resource Locator, URL) voi olla tallennettuna esimerkiksi älykorttiin itseensä tai päätelaitteeseen. Eräs mahdollisuus on järjestää verkkoon palvelin, jolla ylläpidetään ajureita erilaisia älykorttisovelluksia varten, tai jonne tallennetaan tieto (esim. URL), jonka perusteella päätelaite löytää oikean ajurin.
20 WAP-yhteyskäytäntöä hyödyntäen käyttäjä lähettää palvelimelle pyynnön lähettää valittu ajuri WAP-puhelimelle. Palvelin lähettää ajurin, joka sisältää elektronisen allekirjoituksen. Elektroninen allekirjoitus voidaan tarkistaa tässä vaiheessa ennen ajurin tallennusta päätelaitteen haihtumattomaan muistiin (esimerkiksi välimuisti, 25 cache). Jos muistitila on täyttymässä, käyttäjää voidaan pyytää poistamaan vanhempia, käyttämättömäksi jääneitä ajureita.
Seuraavassa tarkastellaan esimerkin avulla ladatun ajurin käyttöä päätelaitteella. Käyttäjä selaa WAP-palvelimella olevaa sisältöä WAP-puhelimellaan ja kiinnostuu 30 yrityksen Y tarjoamasta maksullisesta WML-asiakirjasta. Ilmaistuaan halunsa maksaa kyseisen asiakirjan XCash-palveluna palvelin siirtää WMLScript-sovelluskoodin käyttäjän WAP-puhelimeen. WAP-puhelimen järjestelmäalusta 106496 11 sisältää WMLScript virtuaalikoneen, joka alkaa suorittaa ladattua WMLScript-sovelluskoodia. Käynnistääkseen EUR 10 suuruisen summan siirron sovelluskoodi antaa HL-API-käskyn EPurse.StartPayment(”XCash", "EUR", 10, "serverAddress") 5 joka aikaansaa päätelaitteelle tallennetun XCash-ajurin käynnistymisen. Ajuri ohjaa maksutapahtumia päätelaitteella kutsuen esimerkiksi vakiokirjaston funktiota kysymään käyttäjänityn nän välityksellä käyttäjän valtuutusta maksulle ja valtuutuksen saatuaan antaa sopivan APDUn XCash-kortille suljetun kirjaston funktion avulla. Vastaavasti ajuri ohjaa WAP-selaimen avulla yhteyttä yrityksen Y 10 ja mahdollisesti myös yrityksen X maksupalvelimeen hoitaen maksutapahtumaa verkon suuntaan tunnetulla tavalla. Kun yritys Y on saanut tiedon siitä, että maksutapahtuma on päättynyt, se siirtää halutun asiakirjan verkon yli käyttäjän WAP-puhelimeen.
15 Edellä esitetyissä suoritusmuodoissa LL-API on rajapinta, jonka läpi voidaan lähettää APDUja päätelaitteeseen liitettävälle prosessointivälineelle, tässä älykortille. Keksinnön mukainen ratkaisu on kuitenkin sovellettavissa myös muihin ympäristöihin, joissa yhteys sovellusohjelmasta sovellusta toteuttavalle suoritusvälineelle on aikaansaatava joustavasti mutta samalla riittävä 20 turvallisuustaso ylläpitäen. Suoritusväline voi olla verkkoelementtiin liitetty tai verkkoelementin sisäinen suoritin. LL-API voi vastaavasti olla esimerkiksi Socket API, jonka avulla avataan yhteys sovellusohjelman ja verkossa olevan palvelimen välille. Ajurin lataaminen verkosta mahdollistaa joustavuuden ja nopeuden uusien sovellusten yhteydessä ja LL-API takaa, että yhteys on toteutettavissa vain 25 ajurilla, jonka alkuperä on varmistettavissa. Eräs toinen suoritusmuoto on päätelaitteeseen liitettävän GPS-paikannuslaitteen (Global Positioning System) LL-API, joka mahdollistaa paikannusta hyödyntävien sovellusten joustavan käyttöönoton säilyttäen samalla mahdollisuuden kontrolloida paikannustietoa saavan sovellusohjelman alkuperän.
30 Tässä on esitetty keksinnön toteutusta ja suoritusmuotoja esimerkkien avulla. Alan ammattimiehelle on ilmeistä, ettei keksintö rajoitu edellä esitettyjen 106496 12 suoritusmuotojen yksityiskohtiin ja että keksintö voidaan toteuttaa muussakin muodossa poikkeamatta keksinnön tunnusmerkeistä. Näinollen esimerkiksi päätelaite voi olla muukin kuin edellä esitetty WAP-puhelin. Siten keksinnön toteutus- ja käyttömahdollisuuksia rajoittavatkin ainoastaan oheistetut 5 patenttivaatimukset, ja vaatimusten määrittelemät erilaiset keksinnön toteutusvaihtoehdot, myös ekvivalenttiset toteutukset kuuluvat keksinnön piiriin.

Claims (12)

10649s 13
1. Tiedonsiirtoverkon verkkoelementti, joka käsittää tiedonsiirtovälineet (21, 22, 23, 24) tiedon lähettämiseksi ja 5 vastaanottamiseksi tiedonsiirtoverkosta, joka tieto käsittää yhden tai useampia suorituskäskyjä; käsittelyvälineet (15, 25) määrätyssä muodossa annetun tiedon käsittelemiseksi; ohjausvälineet (25, 27, 28, 29) vastaanotetun yhden tai useamman 10 suorituskäskyn muokkaamiseksi käsittelyvälineiden edellyttämään muotoon; tunnettu siitä, että mainitut ohjausvälineet käsittävät ajurin (41, 42, 43), jonka alkuperä on varmennettavissa elektronisen allekirjoituksen avulla; yhden tai useampia käsittelyvälineiden (15, 25) toimintaa ohjaavia funktioita 15 1(48), jotka ovat käynnistettävissä vain ajurilla (41, 42, 43), jonka alkuperä on varmennettu elektronisen allekirjoituksen avulla.
2. Patenttivaatimuksen 1 mukainen verkkoelementti, tunnettu siitä, että mainittu verkkoelementti on langaton päätelaite. 20
3. Patenttivaatimuksen 2 mukainen verkkoelementti, tunnettu siitä, että mainittu päätelaite sisältää välineet (28) sovellusprosessointivälineen (15) liittämiseksi päätelaitteeseen.
4. Patenttivaatimuksen 3 mukainen verkkoelementti, tunnettu siitä, että mainitut käsittelyvälineet käsittävät sovellusprosessointivälineen (15).
5. Patenttivaatimuksen 1 mukainen verkkoelementti, tunnettu siitä, että mainittu ajuri (41,42, 43) säilytetään verkkoelementissä tavukäännettynä koodina. 30
6. Patenttivaatimuksen 5 mukainen verkkoelementti, tunnettu siitä, että mainittu elektroninen allekirjoitus käsittää mainitun koodin julkaisijan salaisella avaimella ,4 106496 käsitellyn merkkijonon, jolloin ajurin alkuperän varmennus tapahtuu purkamalla merkkijonon salaus koodin julkaisijan julkisella avaimella.
7. Patenttivaatimuksen 6 mukainen verkkoelementti, tunnettu siitä, että mainittu 5 merkkijono käsittää mainitusta koodista määrätyllä tiivistefunktiolla lasketun tiivisteen.
8. Patenttivaatimuksen 1 mukainen verkkoelementti, tunnettu siitä, että määrättyyn käyttötarkoitukseen liittyvä ajuri (61) on järjestetty vastaanottamaan 10 suorituskäsky määrätyssä, käyttötarkoituksen mukaan määräytyvässä muodossa.
9. Tiedonsiirtoverkko, jonka verkkoelementti (10, 5) käsittää tiedonsiirtovälineet (21, 22, 23, 24) tiedon lähettämiseksi ja 15 vastaanottamiseksi tiedonsiirtoverkosta, joka tieto käsittää yhden tai useampia suorituskäskyjä; käsittelyvälineet (15, 25) määrätyssä muodossa annetun tiedon käsittelemiseksi; ohjausvälineet (25, 27, 28, 29) vastaanotetun suorituskäskyn 20 muokkaamiseksi käsittelyvälineiden edellyttämään muotoon; tunnettu siitä, että mainitut ohjausvälineet käsittävät ajurin (41, 42, 43), jonka alkuperä on varmennettavissa elektronisen t allekirjoituksen avulla; yhden tai useampia käsittelyvälineiden (15, 25) toimintaa ohjaavia funktioita 25 (48), jotka ovat käynnistettävissä vain ajurilla (41, 42, 43), jonka alkuperä on varmennettu elektronisen allekirjoituksen avulla. 1 - - 10. Patenttivaatimuksen 9 mukainen tiedonsiirtoverkko, tunnettu siitä, että mainittu verkkoelementti on langaton päätelaite (10). 30
11. Patenttivaatimuksen 9 mukainen tiedonsiirtoverkko, tunnettu siitä, että mainittu verkkoelementti on verkkopalvelin (5). 15 10649b
12. Menetelmä tiedon käsittelemiseksi, jossa menetelmässä: lähetetään ja vastaanotetaan tiedonsiirtoverkosta tieto, joka käsittää yhden tai useampia suorituskäskyjä; 5 muokataan vastaanotettu suorituskäsky määrättyyn muotoon; käsitellään määrätyssä muodossa oleva tieto; tunnettu siitä, että muokataan suorituskäsky ajurilla, jonka alkuperä on varmennettavissa elektronisen allekirjoituksen avulla; 10 ohjataan käsittelyä funktioilla, jotka ovat käynnistettävissä vain ajurilla, jonka alkuperä on varmennettu elektronisen allekirjoituksen avulla. 15 20 10649b 16
FI990800A 1999-04-12 1999-04-12 Verkkoelementti FI106495B (fi)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FI990800A FI106495B (fi) 1999-04-12 1999-04-12 Verkkoelementti
PCT/FI2000/000272 WO2000062174A1 (en) 1999-04-12 2000-03-30 Apparatus and method for authentication of device drivers
AU38209/00A AU3820900A (en) 1999-04-12 2000-03-30 Apparatus and method for authentication of device drivers
EP00917087A EP1171822A1 (en) 1999-04-12 2000-03-30 Apparatus and method for authentication of device drivers
US09/546,439 US7315942B1 (en) 1999-04-12 2000-04-10 Network element and method for controlling access to low level computer system services

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI990800A FI106495B (fi) 1999-04-12 1999-04-12 Verkkoelementti
FI990800 1999-04-12

Publications (3)

Publication Number Publication Date
FI990800A0 FI990800A0 (fi) 1999-04-12
FI990800A FI990800A (fi) 2000-10-13
FI106495B true FI106495B (fi) 2001-02-15

Family

ID=8554396

Family Applications (1)

Application Number Title Priority Date Filing Date
FI990800A FI106495B (fi) 1999-04-12 1999-04-12 Verkkoelementti

Country Status (5)

Country Link
US (1) US7315942B1 (fi)
EP (1) EP1171822A1 (fi)
AU (1) AU3820900A (fi)
FI (1) FI106495B (fi)
WO (1) WO2000062174A1 (fi)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020032750A1 (en) * 2000-05-16 2002-03-14 Kanefsky Steven T. Methods and systems for searching and managing information on wireless data devices
US8606891B2 (en) * 2004-09-10 2013-12-10 Freestyle Technology Pty Ltd Client processor device for building application files from file fragments for different versions of an application
KR101048729B1 (ko) * 2004-06-30 2011-07-14 프랑스 텔레콤 다목적 전자 결제 방법 및 시스템
US8145908B1 (en) * 2004-10-29 2012-03-27 Akamai Technologies, Inc. Web content defacement protection system
US20060230128A1 (en) * 2004-12-22 2006-10-12 Lg Electronics Inc. Method and apparatus interfacing for controlling a device between an application and a library of a master on home network
US7690579B2 (en) * 2006-07-13 2010-04-06 Research In Motion Limited Answer to reset (ATR) pushing
EP2085888A1 (en) * 2008-01-29 2009-08-05 Research In Motion Limited Optimized smart card driver performance
JP4546551B2 (ja) * 2008-03-18 2010-09-15 フェリカネットワークス株式会社 情報処理装置、情報処理方法、プログラムおよび情報処理システム
JP5370253B2 (ja) * 2010-04-27 2013-12-18 ブラザー工業株式会社 制御装置、プログラム、及び管理方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5302947A (en) * 1992-07-31 1994-04-12 Motorola, Inc. Method and apparatus for loading a software program from a radio modem into an external computer
JPH08502378A (ja) * 1992-11-16 1996-03-12 マイクロソフト コーポレイション 装置ドライバをロードする方法
US6058478A (en) * 1994-09-30 2000-05-02 Intel Corporation Apparatus and method for a vetted field upgrade
GB2301744B (en) 1995-06-02 2000-01-12 Dsc Communications Software download for a subscriber terminal of a wireless telecommunications system
US5870610A (en) * 1996-06-28 1999-02-09 Siemens Business Communication Systems, Inc. Autoconfigurable method and system having automated downloading
AU3906497A (en) * 1996-07-31 1998-02-20 Verifone, Inc. A system, method and article of manufacture for secure, stored value transactions over an open communication network utilizing an extensible, flexible architecture
FI104222B1 (fi) 1996-10-03 1999-11-30 Nokia Mobile Phones Ltd Modulaarinen matkaviestinjärjestelmä
US6347398B1 (en) * 1996-12-12 2002-02-12 Microsoft Corporation Automatic software downloading from a computer network
US5974250A (en) * 1996-12-13 1999-10-26 Compaq Computer Corp. System and method for secure information transmission over a network
US5935249A (en) * 1997-02-26 1999-08-10 Sun Microsystems, Inc. Mechanism for embedding network based control systems in a local network interface device
US6029196A (en) * 1997-06-18 2000-02-22 Netscape Communications Corporation Automatic client configuration system
US6157966A (en) * 1997-06-30 2000-12-05 Schlumberger Malco, Inc. System and method for an ISO7816 complaint smart card to become master over a terminal
US6230194B1 (en) * 1997-07-14 2001-05-08 Freegate Corporation Upgrading a secure network interface
US6009524A (en) * 1997-08-29 1999-12-28 Compact Computer Corp Method for the secure remote flashing of a BIOS memory
US6148387A (en) * 1997-10-09 2000-11-14 Phoenix Technologies, Ltd. System and method for securely utilizing basic input and output system (BIOS) services
AU3465499A (en) 1998-04-14 1999-11-01 Qualcomm Incorporated Method and system for interfacing a wireless communication device with an accessory
US6223284B1 (en) * 1998-04-30 2001-04-24 Compaq Computer Corporation Method and apparatus for remote ROM flashing and security management for a computer system
EP0961248A3 (en) * 1998-05-27 2004-06-30 Diebold, Incorporated Automated banking terminal with security features such as for example signed applets
US6250557B1 (en) * 1998-08-25 2001-06-26 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements for a smart card wallet and uses thereof
US6330670B1 (en) * 1998-10-26 2001-12-11 Microsoft Corporation Digital rights management operating system
US6609199B1 (en) * 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US6591418B2 (en) * 1999-03-26 2003-07-08 Dell U.S.A., L.P. Factory software management system
US6493594B1 (en) * 1999-06-04 2002-12-10 Lucent Technologies Inc. System and method for improved software configuration and control management in multi-module systems
US6513159B1 (en) * 2000-03-28 2003-01-28 Intel Corporation Platform intelligent installer

Also Published As

Publication number Publication date
US7315942B1 (en) 2008-01-01
FI990800A0 (fi) 1999-04-12
WO2000062174A1 (en) 2000-10-19
FI990800A (fi) 2000-10-13
EP1171822A1 (en) 2002-01-16
AU3820900A (en) 2000-11-14

Similar Documents

Publication Publication Date Title
US7003663B2 (en) Distribution of deployment information for remote applications
JP4303284B2 (ja) セキュリティエレメントにコマンドを出す方法及び移動端末
RU2488888C2 (ru) Способ доступа к приложениям в защищенной мобильной среде
US8942672B2 (en) Mobile integrated distribution and transaction system and method for NFC services, and a mobile electronic device thereof
Coskun et al. Professional NFC application development for android
JP4524059B2 (ja) 無線通信網において安全なデータ転送を実行する方法と装置
JP5547803B2 (ja) メッセージをセキュアエレメントへ送信するための方法、サーバ、およびコンピュータプログラム
US7117364B1 (en) System and method for downloading application components to a chipcard
US7278582B1 (en) Hardware security module (HSM) chip card
US6807561B2 (en) Generic communication filters for distributed applications
KR100883699B1 (ko) 무선 장치 동작 환경에서 비검증된 프로그램들의 실행
US8958746B2 (en) Mobile integrated distribution and transaction system and method for NFC services, and a mobile electronic device thereof
FI106495B (fi) Verkkoelementti
US20100005476A1 (en) Mobile electronic device including a portable application and a secured module able to communicate with each other, and associated communication method
CN113672403B (zh) 信息系统中的接口调用方法及接口调用装置、管理信息系统
CN114329358A (zh) 应用签名方法、系统、交易终端及服务平台
CN107066888B (zh) 可扩展的可信用户接口、方法和电子设备
JP4236830B2 (ja) アップロード機能付き記憶装置
Husemann Standards in the smart card world
KR100879909B1 (ko) Scws를 이용한 애플릿 서비스 제공 시스템 및 제공 방법
Markantonakis et al. Multi-application smart card platforms and operating systems
Faupel Status of Industry Work on Signed Mobile Code
WO2015008167A2 (en) A moblie integrated distribution and transaction system and method for nfc services, and a mobile electronic device thereof
KR20150105271A (ko) 악성 코드 차단 방법, 커널 레벨에서 악성 코드를 차단하는 휴대형 단말기 및 악성 코드 차단 방법의 프로그램을 저장하는 다운로드 서버
KR100611119B1 (ko) Drm 기반의 wipi 컨텐츠 서비스 방법 및 장치

Legal Events

Date Code Title Description
MA Patent expired