FI111567B - Menetelmä ohjelmamoduulin lataamiseksi - Google Patents

Menetelmä ohjelmamoduulin lataamiseksi Download PDF

Info

Publication number
FI111567B
FI111567B FI992786A FI19992786A FI111567B FI 111567 B FI111567 B FI 111567B FI 992786 A FI992786 A FI 992786A FI 19992786 A FI19992786 A FI 19992786A FI 111567 B FI111567 B FI 111567B
Authority
FI
Finland
Prior art keywords
program
call
data
program module
terminal
Prior art date
Application number
FI992786A
Other languages
English (en)
Swedish (sv)
Other versions
FI19992786A (fi
Inventor
Mikael Linden
Olli Immonen
Mikko Lukkaroinen
Piotr Cofta
Original Assignee
Nokia Corp
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 Corp filed Critical Nokia Corp
Priority to FI992786A priority Critical patent/FI111567B/fi
Priority to EP00987513A priority patent/EP1242879A1/en
Priority to CA002395551A priority patent/CA2395551A1/en
Priority to PCT/FI2000/001093 priority patent/WO2001048604A1/en
Priority to AU23764/01A priority patent/AU2376401A/en
Priority to JP2001549190A priority patent/JP2003518692A/ja
Priority to US09/739,941 priority patent/US7263618B2/en
Publication of FI19992786A publication Critical patent/FI19992786A/fi
Application granted granted Critical
Publication of FI111567B publication Critical patent/FI111567B/fi

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • G06F2211/008Public Key, Asymmetric Key, Asymmetric Encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Description

111567
Menetelmä ohjelmamoduulin lataamiseksi
Nyt esillä oleva keksintö kohdistuu oheisen patenttivaatimuksen 1 johdanto-osan mukaiseen menetelmään ohjelmamoduulin lataamiseksi. 5 Keksintö kohdistuu lisäksi oheisen patenttivaatimuksen 7 johdanto-osan mukaiseen päätelaitteeseen.
Ohjelmat toteutetaan nykyisin pääasiassa moduulirakenteisina, jolloin yksi ohjelma koostuu useista ohjelmamoduuleista, moduuleista, jne. 10 Tällöin yksittäisen ohjelmamoduulin koko voidaan pitää rajallisena, ja käytön aikana ladataan vain sellaiset ohjelmamoduulit, joita kulloinkin tarvitaan. Tällainen järjestely helpottaa mm. ohjelmien ylläpitoa, pienentää ohjelmaa käyttävän tietojenkäsittelylaitteen muistitarvetta sekä mahdollistaa sen, että samaa ohjelmamoduulia voi käyttää useampi eri 15 ohjelma. Tällaisen moduuleista koostuvan ohjelman suorittamiseksi käynnistetään ns. pääohjelma. Pääohjelman toiminnan edetessä esimerkiksi käyttäjien antamien ohjeiden perusteella pääohjelmasta ladataan kulloinkin tarvittava ohjelmamoduuli. Jatkossa tässä selityksessä käytetään yleisnimitystä ohjelmamoduuli sellaisesta ohjelmakomponen-20 tista, jonka yhteydessä latausta voidaan soveltaa. Tällaisia ohjelmamo-duuleita ovat mm. ohjelmakirjastot.
Latauksella (Binding) tässä selityksessä tarkoitetaan ohjelmistojen suoritukseen liittyvää prosessia, jossa ohjelmakomponentti, kuten pää-25 ohjelma tai aliohjelma, kutsuu toista ohjelmakomponenttia, kuten aliohjelmaa tai funktiota. Lataus voidaan vielä jaotella ns. karkeajakoiseen lataukseen (Coarse-Grain Binding) ja hienojakoiseen lataukseen (Fine-Grain Binding). Karkeajakoisessa latauksessa valitaan ohjelmamoduuli ja hienojakoisessa latauksessa valitaan ohjelmamoduulissa oleva 30 aliohjelma, funktio, tms.
Kuvassa 1 on pelkistettynä kaaviona esitetty erästä tunnetun tekniikan mukaista latausta. Kutsuva ohjelma A käsittää aliohjelmakutsun 1, jossa parametreinä annetaan aliohjelman P1, P2 tunniste T1, T2 (tag). 35 Tämä tunniste T1, T2 käsittää tyypillisesti aliohjelman nimen sekä listan aliohjelmaparametrien tyypeistä. Latauspyyntö välitetään latauskäsitteli-jälle H, jossa suoritetaan tunnisteen perusteella selvitys, missä ohjel- * * l> 111567 2 mamoduulissa aliohjelma P1, P2 sijaitsee. Latauskäsittelijä etsii tunnistetietojen perusteella kyseisen ohjelmamoduulin. Tässä etsimisessä voidaan käyttää esimerkiksi hakutaulukkoa (lookup table), jossa on listattuna edullisesti käytettävissä olevat ohjelmamoduulit L1, L2 ja/tai ali-5 ohjelman P1, P2 tunnistetiedot T1, T2. Jos latauskäsittelijä löytää sellaisen ohjelmamoduulin L1, L2, jossa kutsuttu aliohjelma P1, P2 sijaitsee, latauskäsittelijä tutkii seuraavaksi sen, vastaavatko aliohjelman tyyppitiedot kutsutun aliohjelman tyyppitietoja. Kuvassa 1 on katkoviivalla 2 merkitty tilannetta, jossa latauskäsittelijä on löytänyt oikean 10 nimen, mutta tyyppitiedot eivät täsmää. Vastaavasti yhtenäisellä nuolella 3 on esitetty tilannetta, jossa sekä nimi- että tyyppitiedot täsmäävät, jolloin latauskäsittelijä siirtää ohjelman toiminnan kyseiseen aliohjelmaan P2 (nuoli 4). Tämä latauskäsittelijä voidaan toteuttaa esimerkiksi käyttöjärjestelmätoimintona tai itse ohjelman yhteydessä.
15
Edellä kuvattua ohjelmien latausmenetelmää kutsutaan dynaamiseksi lataukseksi erotuksena staattisesta latauksesta, jossa aliohjelmakutsut ja varsinaiset aliohjelmat kytketään jo ohjelman käännösvaiheessa. Staattisella latauksella voidaan jossakin määrin nopeuttaa ohjelman 20 toimintaa, mutta tällöin koko ohjelma tulee ladata tietojenkäsittelylait-teen muistivälineisiin ennen kuin ohjelmaa voidaan käyttää. Myös ohjelman päivitys uudempaan versioon edellyttää koko ohjelman päivittämistä.
25 Ohjelma ja sen toiminnassa tarvittavat ohjelmamoduulit on yleensä ohjelman asennusvaiheessa tallennettu tietojenkäsittelylaitteen muistivälineisiin, tyypillisesti kiintolevylle. Nykyisin erityisesti verkottumisen lisääntymisen johdosta ei kaikkia ohjelmamoduuleita välttämättä tallenneta samaan tietojenkäsittelylaitteeseen. Esimerkiksi lähiverkossa pal-30 velintietokone sisältää yleensä kaikkien lähiverkossa käytettävissä olevien ohjelmien ohjelmamoduulit, jolloin lähiverkon työasemat lataavat kulloinkin tarvittavat ohjelmamoduulit palvelimen muistivälineistä. Tällaisessakin tilanteessa ohjelmamoduulit on tallennettu tyypillisesti ohjelman asennusvaiheessa palvelimen muistivälineisiin. Internet-tieto-35 verkon suosion lisääntyminen on puolestaan mahdollistanut sen, että ohjelman ohjelmamoduulit voidaan ladata Internet-verkon välityksellä esimerkiksi ohjelman valmistajan kotisivulta. Tämä lataus voidaan 111567 3 tehdä esim. siinä vaiheessa, kun ohjelma asennetaan työasemal-le/palvelimelle, tai siinä vaiheessa, kun ohjelmaa käytetään. Tällöin työasema suorittaa ohjelmamoduulien latauksen Internet-tietoverkon välityksellä esim. ohjelmanvalmistajan kotisivulta. Tällöin työasemassa 5 ei tarvitse olla tallennettuna läheskään kaikkia ohjelmamoduuleita, jolloin muistikapasiteettia esimerkiksi työaseman kiintolevyltä säästyy muuhun käyttöön. Lisäksi ohjelman käytettävissä on aina uusin ohjelmaversio, joten käyttäjän ei välttämättä tarvitse suorittaa ohjelmapäivitystä työasemalla.
10 Tällaisen dynaamisen ohjelmamoduulin latauksen eräänä epäkohtana on se, että ohjelma voi käyttää sellaistakin ohjelmamoduulia, joka ei ole ohjelman valmistajan tekemä tai kyseisen valmistajan hyväksymän valmistajan toimittama, vaan kyseessä voi olla ns. piraattiversio. Tämän 15 epäkohdan poistamiseksi on kehitetty ns. allekirjoitusmenetelmä, jossa ohjelmamoduuliin lisätään varmenne, jolla ohjelmamoduulin alkuperä pyritään varmistamaan ennen ohjelmamoduulin asennusta. Tämä varmenne on sinänsä tunnetulla salaustekniikalla salattu, jolloin voidaan estää varmenteen väärentäminen. Varmistusta ei kuitenkin tehdä oh-20 jelmaa suoritettaessa, vaan siinä vaiheessa, kun ohjelma asennetaan. Lisäksi varmennuksen suorittaa käyttöjärjestelmä tai muu vastaava työaseman käyttöympäristökomponentti, mutta ohjelma itse ei suorita varmennusta. Tällöin päätöksen ohjelmamoduulin hyväksymisestä tai hylkäämisestä tekee käyttöjärjestelmä. Jos ohjelmamoduuli on työase-25 massa kerran hyväksytty, voivat kaikki muutkin ohjelmat käyttää ky-, seistä ohjelmamoduulia. Tämä tilanne voi aiheuttaa ongelmia, koska jonkin muun ohjelman valmistaja ei välttämättä hyväksy tätä ohjelma-moduulia käytettäväksi valmistamansa ohjelman yhteydessä.
30 Eräänä toisena epäkohtana dynaamisessa latauksessa on se, että eri ohjelmilla voi olla samannimisiä ohjelmamoduuleita ja/tai aliohjelmia. Tunnetun tekniikan mukaisissa työasemissa ei kuitenkaan voi samanaikaisesti olla ladattuna kahta samannimistä ohjelmamoduulia. Tällöin käyttäjän on huolehdittava ohjelmamoduulin vaihtamisesta siinä tilan-35 teessä, että käyttäjä siirtyy käyttämään toista ohjelmaa, jossa samannimisiä ohjelmamoduuleita käytetään.
* 111567 4
Oheisessa kuvassa 2 on esitetty pelkistettynä kaaviona tilannetta, jossa työasemaan on asennettu kaksi ohjelmaa A, B. Ensimmäinen ohjelma A on ensimmäisen valmistajan M1 valmistama ja toimittama. Toinen ohjelma B on toisen valmistajan M2 valmistama ja toimittama. Ensim-5 mäisen ohjelman A tarvitsema ohjelmamoduuli L1 on kolmannen valmistajan M3 valmistama. Ensimmäinen valmistaja M1 on hyväksynyt kolmannen valmistajan M3 toimittamaan kyseisen ohjelmamoduulin L1 käytettäväksi ohjelmassa A. Vastaavasti toinen valmistaja M2 on valtuuttanut neljännen valmistajan M4 toimittamaan toisen ohjelmamoduu-10 Iin L2 käytettäväksi toisessa ohjelmassa B. Ensimmäinen valmistaja M1 ei kuitenkaan ole valtuuttanut neljättä valmistajaa M4 toimittamaan ohjelmamoduulia L1 omaan ohjelmaansa A. Vastaavasti toisen valmistajan M2 ohjelmassa ei ole valtuutusta kolmannen valmistajan M3 ohjelmamoduulin L1 käyttämiseen, vaikka nämä ohjelmamoduulit L1, L2 si-15 sältäisivätkin olennaisesti saman toiminnallisuuden. Tällöin käyttäjän käynnistäessä ensimmäisen ohjelman A tulee käyttäjän myös ladata ensimmäinen ohjelmamoduuli L1 työasemaan. Lataus suoritetaan tällöin ensimmäisestä ohjelmamoduulista L1, mitä esittää nuoli 5 kuvassa 2. Sen sijaan latausta toisesta ohjelmamoduulista L2 (nuoli 6) ei voi 20 suorittaa. Tilanteessa, jossa käyttäjä siirtyy käyttämään toista ohjelmaa B tulee käyttäjän vaihtaa käytössä oleva ensimmäinen ohjelmamoduuli L1 toiseen ohjelmamoduuliin L2, jotta toinen ohjelma B toimisi halutulla tavalla.
25 Julkaisussa EP-A-0770957 on esitetty menetelmä, jossa tietokoneohjelmassa olevan funktion sisältämien käskyjen osana jokainen ohjelmamoduuli varmennetaan ohjelman ajon aikana erityisen varmentajan avulla ennen funktion varsinaisten käskyjen suorittamista. Tällä menetelmällä saavutetaan se etu, että voidaan estää muunnellun 30 ohjelmakirjaston lataaminen. Menetelmä toimii kuitenkin vain ajon aikana. Varmistusta ei viitejulkaisun mukaisessa menetelmässä suoriteta ennen latausta. Lisäksi menetelmä vaatii erityisen varmentajan. Lisäksi tämän viitejulkaisun mukaisessa menetelmässä on se epäkohta, että menetelmällä ei ole mahdollista ladata useita 35 samannimisiä ja samoilla parametrityypeillä varustettuja ohjelmamoduuleita tietokoneen muistiin, koska ohjelmamoduulin valinnassa ei käytetä lisätunnisteita tai vastaavia.
« 111567 5
Julkaisussa JP-A-11110193 on esitetty menetelmä, jossa sekä pääohjelmassa että aliohjelmassa on käskyjä allekirjoitustoiminnon suorittamiseksi, ja sekä pääohjelmalla että aliohjelmalla on käytössään 5 salausavain allekirjoituksen muodostamiseksi. Vertaamalla näitä allekirjoituksia pääohjelmassa voidaan joko sallia tai estää ohjelmamoduulin lataus, jolloin ei-luotettuja ohjelmamoduuleita voidaan estää toimimasta. Näiden allekirjoitusten luominen tapahtuu aliohjelmamoduulissa kuitenkin aliohjelman ajon aikana, ei ennen 10 latausta. Tämäkään menetelmä ei mahdollista useiden samannimisten ja samoilla parametrityypeillä varustettujen ohjelmamoduuleiden latausta tietokoneen muistiin, koska ohjelmamoduulin valintaan ei tässäkään käytetä lisätunnisteita tai vastaavia.
15 Nyt esillä olevan keksinnön eräänä tarkoituksena on aikaansaada dynaaminen ohjelmamoduulin latausmenetelmä, jolla mahdollistetaan se, että työasemassa voi samanaikaisesti olla käytettävissä useampia samannimisiä ohjelmamoduuleita. Kunkin ohjelman tarvitsema ohjelma-moduuli tunnistetaan ja varmennetaan lisätunnisteen avulla. Nyt esillä 20 olevan keksinnön mukaiselle menetelmälle on tunnusomaista se, mitä on esitetty oheisen patenttivaatimuksen 1 tunnusmerkkiosassa. Nyt esillä olevan keksinnön mukaiselle työasemalle on tunnusomaista se, mitä on esitetty oheisen patenttivaatimuksen 7 tunnusmerkkiosassa. Keksintö perustuu siihen ajatukseen, että ohjelmamoduuliin lisätään li-25 sätunniste, jonka avulla voidaan haluttu ohjelmamoduuli tunnistaa ja lisäksi varmentaa se, että kyseessä on ohjelman valmistajan tai valtuutetun valmistajan toimittama ohjelmamoduuli.
Nyt esillä olevalla keksinnöllä saavutetaan merkittäviä etuja tunnetun 30 tekniikan mukaisiin ratkaisuihin verrattuna. Keksinnön mukainen menetelmä mahdollistaa kahden tai useamman samannimisen ohjelmamoduulin yhtäaikaisen käytön, jolloin käyttäjän ei tarvitse suorittaa ohjelmamoduulin vaihtotoimenpiteitä. Tämä ohjelmamoduulien yhtäaikainen käyttö on mahdollista toteuttaa jopa siten, että käyttäjän ei edes tarvitse 35 tietää tällaisesta toiminnosta. Lisäksi keksinnöllä saavutetaan se etu, että ohjelmamoduulin toimittaja voidaan varmentaa, jolloin vältytään epäluotettavien ohjelmatoimittajien ohjelmamoduulien käyttämiseltä.
111567 6
Varmennus suoritetaan kutsuvassa ohjelmassa tai sen käynnistämänä, joten varmennus on käyttöympäristöstä riippumaton toimenpide.
Keksintöä selostetaan seuraavassa tarkemmin viitaten samalla oheisiin 5 piirustuksiin, joissa kuva 1 esittää pelkistettynä kaaviona tunnetun tekniikan mukaista ohjelmamoduulin latausta, 10 kuva 2 esittää pelkistettynä kaaviona tilannetta tunnetun tekniikan mukaisessa työasemassa kahden ohjelmamoduulin käytön yhteydessä, kuva 3 esittää pelkistettynä kaaviona keksinnön erään edullisen 15 suoritusmuodon mukaista menetelmää sovellettuna työ asemassa, kuva 4 esittää pelkistetysti lataustoimintoa keksinnön erään edullisen suoritusmuodon mukaisen menetelmän yhteydessä, 20 kuva 5 esittää periaatekuvaa WAP-mallista, ja kuva 6 esittää pelkistettynä kaaviona keksinnön erään edullisen suoritusmuodon mukaista päätelaitetta.
25 WAP (Wireless Application Protocol) on WAP Form -yhteenliittymän määrittämä järjestely Internet-tietoverkon ja kehittyneiden datapalvelui-den saannin toteuttamiseksi langattomissa päätelaitteissa. WAP tarjoaa periaatteessa skaalautuvan ja laajennettavissa olevan kokonaisuuden, 30 jonka kerrosrakenteisessa arkkitehtuurissa tietty yhteyskäytäntökerros tarjoaa palveluita seuraavalle kerrokselle. WAP-arkkitehtuuri on hyvin lähellä Internet-tietoverkosta tunnettua WWW-mallia, mutta siihen on tehty langattoman ympäristön vaatimia optimointeja ja muutoksia.
35 Oheisessa kuvassa 5 on esitetty periaatekuva WAP-mallista, joka mahdollistaa asiakastyöaseman MT ja palvelimen S välisen neuvottelun palvelimella S käytettävän dataobjektin tarjoamiseksi lukijalle ym- 111567 7 märrettävässä muodossa. Asiakastyöasema MT lähettää langattoman tiedonsiirtoverkon NW1 yli yhdyskäytävälle GW koodatun palvelupyynnön, jonka yhdyskäytävä GW dekoodaa ja välittää Internet-tietoverkon NW2 välityksellä palvelimelle S. Palvelin S lähettää pyydetyn sisällön 5 yhdyskäytävälle GW, joka koodaa sisällön ja lähettää sen palvelupyynnön tehneelle asiakkaalle. Vastaanotettu dataobjekti on tulostettavissa käyttäjän tarkasteltavaksi asiakkaan yhteydessä olevan käyttöliittymän välityksellä.
10 Kuva 6 havainnollistaa pelkistettynä lohkokaaviona asiakastyöasemana käytettävää langatonta päätelaitetta MT. Nyt esitetyssä suoritusmuodossa päätelaitteena on käytetty langatonta viestintä, kuten matkaviestintä, mutta on selvää, että keksintöä voidaan soveltaa myös muuntyyppisten työasemien ja langattomien päätelaitteiden yhteydessä. Lan-15 gaton viestin voi olla mikä tahansa langaton tietoliikenneväline, kuten esimerkiksi 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 käsittävällä matkaviestinverkko-20 kortilla.
Kuvan 6 lohkokaaviossa esitetty langaton viestin sisältää radioteitse tapahtuvaa kommunikointia varten radioyksikön RF, joka käsittää tavanomaisesta matkaviestimestä tunnetun lähetinhaaran TX (käsittäen ka-25 navakoodauksen, lomituksen, salauksen, moduloinnin ja lähetyksen suorittavat toimintolohkot), vastaanotinhaaran RX (käsittäen vastaanoton, demoduloinnin, salauksen purun, lomituksen purun sekä kanava-dekoodauksen suorittavat toimintolohkot), radioteitse tapahtuvaa lähetystä varten vastaanoton ja lähetyksen erottavan duplex-suodattimen 30 DF ja antennin ANT. Päätelaitteen toimintaa kokonaisuudessaan ohjaa keskusyksikkö CTRL, joka myös toteuttaa päätelaitteen yhteyskäytännön mukaiset toiminnallisuudet. Matkaviestin käsittää muistin MEM, joka sisältää edullisesti haihtuvaa ja haihtumatonta muistia, ja liitäntäyksikön IO, joka käsittää yhden tai useampia laitteistoportteja sisäisten 35 tai ulkoisten lisälaitteiden liittämiseksi matkaviestimeen. Käyttäjän kanssa suoritettavaa kommunikointia varten työasema käsittää käyttöliittymän, joka sisältää tyypillisesti näppäimistön, näytön, mikrofonin ja * 111567 8 kaiuttimen. Tietojenkäsittelyohjelmien yhteydessä liitäntäyksikkö käsittää tiedonsiirtovälineet tietojen siirtämiseksi tietojenkäsittelylaitteen, kuten kannettavan tietokoneen, ja matkaviestimen välillä. Nämä tieto-jenkäsittelytoiminnot voivat olla toteutettuina myös matkaviestimessä, 5 esimerkiksi kommunikaattorityyppisessä laitteessa, jolloin osa päätelaitteen toiminnoista voi olla yhteisiä sekä matkaviestimelle että tietojen-käsittelytoiminnoille. Yhteys palvelimeen toteutetaan radioyksikön välityksellä. Keskusyksikkö ohjaa matkaviestintoimintojen toteutusta suorittamalla laitteen muistiin ohjelmallisesti tai laitteistorakenteeseen järjes-10 tetyt toiminnot, ja edullisesti palvelimelta päätelaitteeseen ladatun ohjelmakoodin toiminnot.
Ohjelmamoduulien sisäinen rakenne voi käytännön sovelluksissa vaihdella. Eräässä edullisessa vaihtoehdossa on aliohjelmien tunnisteille 15 varattu tietty, ennalta määrätty alue. Tällöin sopivimmin näiden tunnisteiden yhteydessä on myös tieto siitä, mistä kohdasta ohjelmamoduulia alkaa aliohjelman ohjelmakoodi. Eräässä toisessa edullisessa vaihtoehdossa kunkin aliohjelman tunniste on aliohjelman ohjelmakoodin yhteydessä. Tällöin tunnisteiden yhteydessä on vielä tieto siitä, missä 20 kohdassa ohjelmamoduulia sijaitsee seuraavan aliohjelman tunnistetieto. Nyt esillä olevan keksinnön kannalta ei sinänsä ole merkitystä sillä, miten tunnisteet ja aliohjelmat on järjestetty ohjelmamoduuleihin.
Kuvataan seuraavaksi keksinnön erään edullisen suoritusmuodon mu-25 kaisen menetelmän toimintaa viitaten samalla kuvaan 3. Käyttäjä käynnistää päätelaitteessa MT moduulirakenteisen ohjelman A pääohjelman. Tämän jälkeen pääohjelmaa suoritetaan, kunnes ohjelman suorituksessa on kutsu 7 aliohjelmaan, joka ei sijaitse samassa ohjelmamoduulissa kuin pääohjelma. Tällöin päätelaitteessa MT siirrytään 30 suorittamaan latauskäsittelijää H, joka voi olla toteutettu esim. suoritettavana olevassa ohjelmassa, tai päätelaitteen MT käyttöjärjestelmätoimintona. Aliohjelmakutsun 7 yhteydessä latauskäsittelijälle H välitetään tieto kutsuttavan aliohjelman nimestä, aliohjelmaparametreista sekä li-sätunnisteesta. Latauskäsittelijä käyttää näitä tietoja kutsuttavan alioh-35 jelman P1, P2, P3 selvittämiseksi ohjelmamoduuleihin tallennettujen aliohjelmien tunnisteista T1, T2, T3 edullisesti seuraavasti.
• 111567 9
Latauskäsittelijä H suorittaa tunnisteessa T1, T2, T3 olevan ohjelma-moduulin nimen perusteella kyseisen ohjelmamoduulin etsimisen tutkimista varten, kuten on sinänsä tunnettua. Sen jälkeen kun ohjelma-moduuli on löydetty, vertaa latauskäsittelijä ennalta määritetystä 5 paikasta yhden aliohjelman tunnistetietoja aliohjelmakutsussa välitettyihin tietoihin. Tässä vaiheessa tutkitaan edullisesti aliohjelman nimi ja parametrien tyyppitiedot. Mikäli sekä nimi että tyyppitiedot täsmäävät, suoritetaan vielä keksinnön mukaisen lisätunnisteen tutkiminen. Tämän lisätunnisteen perusteella voidaan päätellä, onko 10 tutkittavana oleva ohjelmamoduuli suoritettavana olevan ohjelman valmistajan hyväksymä. Tutkimisessa voidaan käyttää eri menetelmiä, joista erästä kuvataan tarkemmin jäljempänä tässä selityksessä. Näitä lisätunnisteita voi samassa ohjelmamoduulissa olla useampiakin kuin yksi, jolloin useampi valmistaja voi hyväksyä saman ohjelmamoduulin. 15 Kutsuva ohjelma voi välittää myös oman funktionsa, jolla varmistus lisätunnisteen perusteella voidaan suorittaa.
Jos lisätunnisteen tutkimisvaiheessa todetaan, että kyseessä on sellaisen valmistajan toimittama ohjelmamoduuli, jota voidaan käyttää suori-20 tettavana olevan ohjelman yhteydessä, siirrytään suorittamaan tätä aliohjelmaa. Jos sensijaan todetaan, että kyseinen ohjelmamoduuli ei ole sellaisen valmistajan toimittama, joka on suoritettavana olevan ohjelman valmistajan valtuuttama (nuoli 8), siirrytään tutkimaan toista samannimistä ohjelmamoduulia, mikäli sellainen löytyy. Tästä toisesta 25 ohjelmamoduulista tutkitaan, sisältääkö se kutsuttua aliohjelmaa, jossa parametrien tyyppitiedot täsmäävät. Jos tällainen aliohjelma löytyy, tutkitaan vielä ohjelmamoduulin sisältämät lisätunnisteet ohjelmamoduulin valmistajan selvittämiseksi. Jos lisätunniste ei täsmää, kyseessä ei ole valtuutetun valmistajan ohjelmamoduuli (nuoli 9). Jos sen sijaan 30 jokin tutkituista lisätunnisteista osoittaa kyseessä olevan valtuutetun valmistajan toimittama ohjelmamoduuli (nuoli 10), siirrytään suorittamaan tätä aliohjelmaa (nuoli 11), jota kuvassa 3 on merkitty viitteellä P3.
35 Edellä esitettyjä vaiheita toistetaan edullisesti niin kauan, kunnes haluttu ohjelmamoduuli löytyy, tai kunnes kaikki tietyn nimiset ohjelmamoduulit on käyty läpi. Mainittakoon tässä yhteydessä vielä se, että ohjel- 111567 10 mamoduulia voidaan etsiä useista eri paikoista. Etsiminen voidaan aloittaa esimerkiksi päätelaitteen muistista MEM. Tämän jälkeen etsintää voidaan laajentaa lähiverkon NW1 muistivälineisiin, mikäli päätelaite on kytketty tiedonsiirtoyhteyteen johonkin lähiverkkoon. Ohjelma-5 moduulia voidaan etsiä vielä Internet-tietoverkosta sinänsä tunnetusti. Langattoman päätelaitteen MT yhteydessä voidaan etsimisessä ja latauksessa edullisesti soveltaa mainittua WAP-protokollaa.
Seuraavassa kuvataan tarkemmin eräs edullinen lisätunnisteen toteu-10 tusmuoto viitaten samalla kuvan 4 pelkistettyyn kaavioon. Tässä toteutuksessa käytetään digitaalista allekirjoitusta, joka muodostetaan esim. asymmetrisellä salauksella. Asymmetrinen salaus perustuu salainen avain—julkinen avain -avainpariin. Kullakin asymmetristä salausta soveltavalla ohjelmavalmistajalla M1, M2, M3 on yksi tai useampi salainen 15 avain. Näitä on kuvassa 4 merkitty viitteillä SK1, SK2 ja SK3. Kuvassa 4 on selvyyden vuoksi esitetty vain kolme valmistajaa ja jokaiselle valmistajalle yksi avainpari, mutta on selvää, että käytännössä valmistajia ja avainpareja on huomattavasti enemmän kuin tässä esitetyt. Kuvan 4 esimerkissä on ensimmäinen valmistaja M1 liittänyt ensimmäiseen oh-20 jelmamoduuliin L1 lisätunnisteen, joka käsittää ensimmäisellä salaisella avaimella SK1 muodostetun digitaalisen allekirjoituksen. Tätä lisätun-nistetta on esimerkinomaisesti havainnollistettu viitteellä LT1 oheisessa kuvassa 3, mutta on selvää, että käytännön sovelluksissa lisätunnisteen muoto voi vaihdella. Toinen valmistaja M2 on liittänyt toiseen oh-25 jelmamoduuliin L2 lisätunnisteen LT2, joka käsittää toisella salaisella avaimella SK2 muodostetun digitaalisen allekirjoituksen. Myös kolmas valmistaja M3 on vielä liittänyt tähän toiseen ohjelmamoduuliin L2 lisä-tunnisteen LT3, joka käsittää kolmannella salaisella avaimella SK3 muodostetun digitaalisen allekirjoituksen. Tämä toinen ohjelmamoduuli 30 L2 on siis sekä toisen M2 että kolmannen valmistajan M3 hyväksymä. Kolmas valmistaja M1 on liittänyt myös kolmanteen ohjelmamoduuliin L3 lisätunnisteen LT3, joka käsittää kolmannella salaisella avaimella SK3 muodostetun digitaalisen allekirjoituksen. Tämän kolmannen ohjelmamoduulin L3 tunniste T3 on sama kuin toisen ohjelmamoduulin L2 35 tunniste T2. Lisätunnisteiden osalta erona on siis se, että kolmannen ohjelmamoduulin L3 lisätunniste ei sisällä toisen valmistajan digitaalista allekirjoitusta.
111567 11 Päätelaitteen MT käyttäjä on tallentanut päätelaitteeseen tai kuhunkin ohjelmaan, jossa nyt esillä olevaa keksintöä sovelletaan, valmista-jan/valmistajien julkisia avaimia PK1, PK2, PK3. Julkisen avaimen jake-5 lu voidaan järjestää esim. siten, että käytetään luotettavaksi arvioitua jakeluorganisaatiota ORG, jolle valmistajat ilmoittavat julkisen avaimensa ja josta käyttäjä voi ne saada. Julkisella avaimella voidaan suorittaa edellä mainittu lisätunnisteen tutkiminen, eli varmistaa se, että digitaalinen allekirjoitus on todella muodostettu julkista avainta vastaavalla sa-10 laisella avaimella. Julkiset avaimet tallennetaan siten, että ohjelmaa suoritettaessa ne ovat ohjelman käytettävissä. Kunkin latauksen yhteydessä valitaan julkisista avaimista sellaiset, joita vastaavat valmistajat ovat hyväksyneet ladattavan ohjelmamoduulin käytön. Esimerkiksi kuvan 4 mukaisessa tilanteessa valitaan vain kolmannen valmistajan M3 15 julkinen avain PK3.
Eräänä vaihtoehtona julkisten avaimien tallennukseen on ns. älykortti (ei esitetty). Älykortti liitetään tiedonsiirtoyhteyteen päätelaitteeseen MT esim. liityntäväylän IF (kuva 5) avulla, jolloin päätelaite MT voi tarvit-20 taessa käydä lukemassa älykorttiin tallennettuja julkisia avaimia.
Digitaalinen allekirjoitus voidaan muodostaa edullisesti sinänsä tunnetulla RSA-algoritmilla, jossa allekirjoitus toteutetaan salausoperaatiolla. Tunnetaan myös muita menetelmiä, kuten DSA (Digital Signature Al-25 gorithm), ECDSA (Elliptic Curve Digital Signature Algorithm), joissa digitaalinen allekirjoitus tehdään toisin.
Nyt esillä olevaa keksintöä voidaan soveltaa sellaisissa ohjelmointiympäristöissä, joissa dynaaminen lataus on käytössä. Esimerkkejä tällai-30 sista ympäristöistä mainittakoon tässä yhteydessä CORBA ja Java. Käytännön sovelluksissa keksinnön mukaisen menetelmän yksityiskohdat riippuvat sovellusympäristöstä. CORBA-ohjelmointiympäristössä on käytettävissä bind()-funktio dynaamista latausta varten. Tällöin funktiokutsun yhteydessä voidaan välittää tunniste ja lisätunniste. Bind()-funk-35 tion kutsuminen aikaansaa latauskäsittelijän (binding server) suorittamisen, jolloin latauskäsittelijä voi tutkia kutsun yhteydessä välitettyä informaatiota.
« 111567 12
Java-ohjelmointiympäristössä käytetään latauksen yhteydessä menetelmien tunnuksia, jotka on muodostettu aliohjelmien nimistä sekä parametrien tyypeistä. Näitä tunnuksia tutkitaan viimeistään siinä vai-5 heessa, kun lataus on suoritettava. Tällöin tutkimisen suorittaa ns. la-tauskäsittelijää H vastaavassa Java virtuaalikoneen toiminnallisessa osassa. Tällöin keksinnön mukaista menetelmää voidaan Java-ympä-ristössä soveltaa esim. siten, että lisätään tunnukseen lisätunniste ja muodostetaan Java virtuaalikoneeseen toiminto, jolla tarkistetaan lisä-10 tunnisteen oikeellisuus.
Nyt esillä olevaa keksintöä ei ole rajoitettu ainoastaan edellä esitettyihin suoritusmuotoihin, vaan sitä voidaan muunnella oheisten patenttivaatimusten puitteissa.
15 « «

Claims (10)

111567 13
1. Menetelmä ohjelmamoduulin (L1, L2 L3) lataamiseksi päätelaitteessa (MT), jossa suoritetaan yhtä tai useampaa ohjelmaa (A, B), ja 5 jossa menetelmässä aliohjelmia (P1, P2, P3) tallennetaan mainittuihin ohjelmamoduuleihin (L1, L2 L3), ohjelmamoduuleihin (L1, L2 L3) muodostetaan ensimmäisiä tunnistetietoja (T1,T2, T3), jolloin latauksen käynnistämiseksi ohjelmassa suoritetaan kutsu (7) aliohjelmaan (P1, P2, P3), ja kutsuun (7) liitetään ensimmäisiä kutsutietoja 10 (T1,T2, T3) sen ohjelmamoduulin (L1,L2L3) valitsemiseksi latausta varten, johon kutsuttava aliohjelma (P1, P2, P3) on tallennettu, tunnettu siitä, että tunnistetietoihin (T1, T2, T3) liitetään toiset tunnistetiedot (LT1, LT2, LT3), että kutsuun (7) liitetään lisäksi mainittuja toisia kutsutietoja (PKx, PKy, PKz), ja että latauksen yhteydessä verrataan 15 ohjelmamoduuleihin tallennettuja mainittuja ensimmäisiä tunnistetietoja (T1,T2, T3) kutsussa (7) välitettyihin ensimmäisiin kutsutietoihin (T1, T2, T3) ja toisia tunnistetietoja (LT1, LT2, LT3) kutsussa (7) välitettyihin toisiin kutsutietoihin (PKx, PKy, PKz), jolloin ladattavaksi ohjelmamoduuliksi valitaan ohjelmamoduuli, joka vastaa kutsussa välitet-20 tyjä ensimmäisiä (T1, T2, T3) ja toisia kutsutietoja (PKx, PKy, PKz).
2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että ohjelmamoduuleihin muodostettavat toiset tunnistetiedot (LT1, LT2, LT3) sisältävät digitaalisen allekirjoituksen. 25
3. Patenttivaatimuksen 2 mukainen menetelmä, tunnettu siitä, että toisiin kutsutietoihin liitetään julkinen avain (PKx, PKy, PKz), jonka perusteella ohjelmamoduuliin muodostettujen toisten tunnistetietojen digitaalinen allekirjoitus tarkistetaan. 30
4. Patenttivaatimuksen 1, 2 tai 3 mukainen menetelmä, tunnettu siitä, että ohjelmamoduuleihin muodostettavat toiset tunnistetiedot (LT 1, LT2, LT3) tallennetaan salatussa muodossa. 35 111567 14
5. Patenttivaatimuksen 4 mukainen menetelmä, tunnettu siitä, että toisiin kutsutietoihin liitetään julkinen avain (PKx, PKy, PKz), jonka perusteella ohjelmamoduuliin muodostettujen toisten tunnistetietojen (LT 1, LT2, LT3) salaus puretaan. 5
6. Jonkin patenttivaatimuksen 1—5 mukainen menetelmä, jossa oh-jelmamoduuleita (L1, L2 L3) tallennetaan Internet-tietoverkkoon tiedonsiirtoyhteydessä olevaan palvelimeen, tunnettu siitä, että päätelaitteena (MT) käytetään langatonta päätelaitetta, ja että ohjelmamoduu- 10 lien (L1, L2 L3) lataus suoritetaan ainakin osittain WAP-protokollan mukaisilla sanomilla.
7. Päätelaite (MT), joka käsittää välineet (H) ohjelmamoduulin (L1, L2 L3) lataamiseksi, joihin ohjelmamoduuleihin (L1, L2 L3) on tal- 15 lennettu aliohjelmia (P1,P2, P3), ja ensimmäisiä tunnistetietoja (T1,T2, T3), ja joka päätelaite (MT) käsittää lisäksi välineet (CTRL, MEM) ohjelmien (A, B) suorittamiseksi, välineet (CTRL) latauksen käynnistämiseksi suorittamalla ohjelmassa kutsu (7) aliohjelmaan (P1, P2, P3), johon kutsuun (7) on liitetty ensimmäisiä kutsutietoja 20 (T1, T2, T3) sen ohjelmamoduulin (L1, L2 L3) valitsemiseksi latausta varten, johon kutsuttava aliohjelma (P1,P2, P3) on tallennettu, tunnettu siitä, että ohjelmamoduuleihin (L1, L2 L3) on tallennettu toisia tunnistetietoja (LT1, LT2, LT3), että päätelaite käsittää lisäksi välineet (CTRL, MEM) toisten kutsutietojen (PKx, PKy, PKz) liittämiseksi kut-25 suun (7), välineet (H) ohjelmamoduuleihin tallennettujen mainittujen ensimmäisten tunnistetietojen (T1,T2, T3) vertaamiseksi kutsussa (7) välitettyihin ensimmäisiin kutsutietoihin (T1, T2, T3), välineet (H) toisten tunnistetietojen (LT1, LT2, LT3) vertaamiseksi kutsussa (7) välitettyihin toisiin kutsutietoihin (PKx, PKy, PKz), ja välineet (H) ohjelmamoduulin 30 valitsemiseksi ladattavaksi mainittujen vertailujen perusteella.
8. Patenttivaatimuksen 7 mukainen päätelaite (MT), tunnettu siitä, että ohjelmamoduuleihin muodostetut toiset tunnistetiedot (LT1, LT2, LT3) sisältävät digitaalisen allekirjoituksen. 35 111567 15
9. Patenttivaatimuksen 8 mukainen päätelaite (MT), tunnettu siitä, että toisiin kutsutietoihin on liitetty julkinen avain (PKx, PKy, PKz), jonka perusteella ohjelmamoduuliin muodostettujen toisten tunnistetietojen digitaalinen allekirjoitus on järjestetty tarkistettavaksi. 5
10. Patenttivaatimuksen 7, 8 tai 9 mukainen päätelaite (MT), joka käsittää välineet (RF, DF, ANT) Internet-tietoverkkoon (NW2) tiedonsiirtoyhteydessä olevaan palvelimeen (S) tallennettujen ohjelmamoduuleiden (L1,L2L3) lataamiseksi päätelaitteeseen (MT), tunnettu siitä, että 10 päätelaite (MT) on langaton päätelaite, ja että se käsittää välineet (CTRL) ohjelmamoduulien (L1, L2 L3) latauksen suorittamiseksi ainakin osittain WAP-protokollan mukaisilla sanomilla. « 1 111567 16
FI992786A 1999-12-27 1999-12-27 Menetelmä ohjelmamoduulin lataamiseksi FI111567B (fi)

Priority Applications (7)

Application Number Priority Date Filing Date Title
FI992786A FI111567B (fi) 1999-12-27 1999-12-27 Menetelmä ohjelmamoduulin lataamiseksi
EP00987513A EP1242879A1 (en) 1999-12-27 2000-12-14 Method for binding a program module
CA002395551A CA2395551A1 (en) 1999-12-27 2000-12-14 Method for binding a program module
PCT/FI2000/001093 WO2001048604A1 (en) 1999-12-27 2000-12-14 Method for binding a program module
AU23764/01A AU2376401A (en) 1999-12-27 2000-12-14 Method for binding a program module
JP2001549190A JP2003518692A (ja) 1999-12-27 2000-12-14 プログラム・モジュール・バインディング方法
US09/739,941 US7263618B2 (en) 1999-12-27 2000-12-18 Method for binding a program module

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI992786A FI111567B (fi) 1999-12-27 1999-12-27 Menetelmä ohjelmamoduulin lataamiseksi
FI992786 1999-12-27

Publications (2)

Publication Number Publication Date
FI19992786A FI19992786A (fi) 2001-06-28
FI111567B true FI111567B (fi) 2003-08-15

Family

ID=8555814

Family Applications (1)

Application Number Title Priority Date Filing Date
FI992786A FI111567B (fi) 1999-12-27 1999-12-27 Menetelmä ohjelmamoduulin lataamiseksi

Country Status (7)

Country Link
US (1) US7263618B2 (fi)
EP (1) EP1242879A1 (fi)
JP (1) JP2003518692A (fi)
AU (1) AU2376401A (fi)
CA (1) CA2395551A1 (fi)
FI (1) FI111567B (fi)
WO (1) WO2001048604A1 (fi)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020116633A1 (en) * 2001-01-19 2002-08-22 Takuya Kobayashi Data processor
JP3677252B2 (ja) 2002-03-22 2005-07-27 株式会社東芝 情報機器、記憶媒体、及び初期状態復元方法
US7818657B1 (en) * 2002-04-01 2010-10-19 Fannie Mae Electronic document for mortgage transactions
US7793346B1 (en) * 2003-01-17 2010-09-07 Mcafee, Inc. System, method, and computer program product for preventing trojan communication
GB2415065B (en) 2004-06-09 2009-01-21 Symbian Software Ltd A computing device having a multiple process architecture for running plug-in code modules

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276735A (en) * 1992-04-17 1994-01-04 Secure Computing Corporation Data enclave and trusted path system
JPH06149583A (ja) * 1992-11-06 1994-05-27 Oki Electric Ind Co Ltd メソッド起動システム
US5867666A (en) * 1994-12-29 1999-02-02 Cisco Systems, Inc. Virtual interfaces with dynamic binding
US5615268A (en) * 1995-01-17 1997-03-25 Document Authentication Systems, Inc. System and method for electronic transmission storage and retrieval of authenticated documents
US6157721A (en) * 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US5778068A (en) * 1995-02-13 1998-07-07 Eta Technologies Corporation Personal access management system
US5748963A (en) * 1995-05-12 1998-05-05 Design Intelligence, Inc. Adaptive binding
US5815708A (en) * 1995-10-06 1998-09-29 Sun Microsystems, Inc. Method and apparatus for dynamically loading method call exception code in response to a software method exception generated in a client/server computer system
US5757914A (en) * 1995-10-26 1998-05-26 Sun Microsystems, Inc. System and method for protecting use of dynamically linked executable modules
US5692047A (en) * 1995-12-08 1997-11-25 Sun Microsystems, Inc. System and method for executing verifiable programs with facility for using non-verifiable programs from trusted sources
US5778070A (en) * 1996-06-28 1998-07-07 Intel Corporation Method and apparatus for protecting flash memory
US6003095A (en) * 1996-10-31 1999-12-14 International Business Machines Corporation Apparatus and method for demand loading a dynamic link library
US6347398B1 (en) * 1996-12-12 2002-02-12 Microsoft Corporation Automatic software downloading from a computer network
US6000032A (en) * 1997-07-15 1999-12-07 Symantec Corporation Secure access to software modules
JPH11110193A (ja) * 1997-09-30 1999-04-23 Toshiba Corp コンピュータシステム及び同システムに適用するライブラリのリンク方法
US6615350B1 (en) * 1998-03-23 2003-09-02 Novell, Inc. Module authentication and binding library extensions
US6327652B1 (en) * 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
AUPP734298A0 (en) * 1998-11-26 1998-12-24 Aristocrat Leisure Industries Pty Ltd Electronic casino gaming with authentication and improved security
US6330588B1 (en) * 1998-12-21 2001-12-11 Philips Electronics North America Corporation Verification of software agents and agent activities
US6223291B1 (en) * 1999-03-26 2001-04-24 Motorola, Inc. Secure wireless electronic-commerce system with digital product certificates and digital license certificates
US6343287B1 (en) * 1999-05-19 2002-01-29 Sun Microsystems, Inc. External data store link for a profile service
US6728880B1 (en) * 1999-09-17 2004-04-27 Adobe Systems Incorporated Secure time on computers with insecure clocks

Also Published As

Publication number Publication date
CA2395551A1 (en) 2001-07-05
FI19992786A (fi) 2001-06-28
WO2001048604A1 (en) 2001-07-05
US20010016042A1 (en) 2001-08-23
AU2376401A (en) 2001-07-09
EP1242879A1 (en) 2002-09-25
US7263618B2 (en) 2007-08-28
JP2003518692A (ja) 2003-06-10

Similar Documents

Publication Publication Date Title
US8239673B2 (en) Methods, apparatus and systems with loadable kernel architecture for processors
CN101300583B (zh) 用于可信赖移动电话的简单可伸缩和可配置安全启动
CN1653460B (zh) 加载应用程序到设备中的方法,设备和设备中的智能卡
CN111263352B (zh) 车载设备的ota升级方法、系统、存储介质及车载设备
US20220405392A1 (en) Secure and flexible boot firmware update for devices with a primary platform
US20040098715A1 (en) Over the air mobile device software management
US20080082828A1 (en) Circuit arrangement and method for starting up a circuit arrangement
US20050108171A1 (en) Method and apparatus for implementing subscriber identity module (SIM) capabilities in an open platform
US7953225B2 (en) Mobile wireless communications device with software installation and verification features and related methods
EP1680719B1 (en) Method and device for controlling installation of applications using operator root certificates
US20070078957A1 (en) Firmware-licensing system for binding terminal software to a specific terminal unit
WO2008104934A1 (en) Apparatus, method and computer program product providing enforcement of operator lock
US20050108534A1 (en) Providing services to an open platform implementing subscriber identity module (SIM) capabilities
EP1410665A2 (en) System and method for improved security in a handset reprovisioning and reprogramming
KR102114432B1 (ko) 코어 os 및 애플리케이션 os를 갖는 통합된 가입자 식별 모듈
US10263980B2 (en) Network node, device and methods for providing an authentication module
WO2019071650A1 (zh) 一种安全元件中的应用的升级方法及相关设备
EP2705455B1 (en) Determination of apparatus configuration and programming data
EP3413600B1 (en) Communication device and method of managing profiles
FI111567B (fi) Menetelmä ohjelmamoduulin lataamiseksi
EP2633461B1 (en) A method for accessing an application and a corresponding device
US20060107054A1 (en) Method, apparatus and system to authenticate chipset patches with cryptographic signatures
US8621191B2 (en) Methods, apparatuses, and computer program products for providing a secure predefined boot sequence
EP1672486A1 (en) Method and device for permitting secure use of program modules
CN105827565A (zh) 一种应用的安全认证系统、方法、及终端

Legal Events

Date Code Title Description
MA Patent expired