FI115564B - Menetelmä ja järjestelmä testauksen suorittamiseksi laitteessa ja laite - Google Patents

Menetelmä ja järjestelmä testauksen suorittamiseksi laitteessa ja laite Download PDF

Info

Publication number
FI115564B
FI115564B FI20030156A FI20030156A FI115564B FI 115564 B FI115564 B FI 115564B FI 20030156 A FI20030156 A FI 20030156A FI 20030156 A FI20030156 A FI 20030156A FI 115564 B FI115564 B FI 115564B
Authority
FI
Finland
Prior art keywords
program
key
security
keys
determined
Prior art date
Application number
FI20030156A
Other languages
English (en)
Swedish (sv)
Other versions
FI20030156A0 (fi
FI20030156A (fi
Inventor
Lauri Paatero
Antti Kiiveri
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
Publication of FI20030156A0 publication Critical patent/FI20030156A0/fi
Priority to FI20030156A priority Critical patent/FI115564B/fi
Priority to CNB2004800032825A priority patent/CN100374970C/zh
Priority to PCT/FI2004/050010 priority patent/WO2004070586A1/en
Priority to EP04707246A priority patent/EP1590722B1/en
Priority to DE602004016460T priority patent/DE602004016460D1/de
Priority to JP2006500155A priority patent/JP4417952B2/ja
Priority to AT04707246T priority patent/ATE408200T1/de
Priority to US10/771,164 priority patent/US7418593B2/en
Publication of FI20030156A publication Critical patent/FI20030156A/fi
Application granted granted Critical
Publication of FI115564B publication Critical patent/FI115564B/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)
  • Testing Electric Properties And Detecting Electric Faults (AREA)
  • Debugging And Monitoring (AREA)
  • Selective Calling Equipment (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

115564
Menetelmä ja järjestelmä testauksen suorittamiseksi laitteessa ja laite
Nyt esillä oleva keksintö kohdistuu menetelmään ohjelman testauksen 5 suorittamiseksi laitteessa, jossa laitteeseen ladataan ainakin yksi ohjelma, määritetään ainakin yksi ohjelmaan liittyvä tilatieto, ja muodostetaan ainakin yksi ohjelman käyttöoikeuksiin tai tietoturvallisuuteen liittyvä avain mainitussa ohjelmassa käytettäväksi.
Keksintö kohdistuu lisäksi järjestelmään ohjelman testauksen 10 suorittamiseksi laitteessa, johon on ladattu ainakin yksi ohjelma, järjestelmässä on järjestetty määritettäväksi ainakin yksi ohjelmaan liittyvä tilatieto, ja järjestelmään on muodostettu ainakin yksi ohjelman käyttöoikeuksiin tai tietoturvallisuuteen liittyvä avain mainitussa ohjelmassa käytettäväksi. Keksintö kohdistuu myös laitteeseen, jossa 15 on ainakin yksi suoritin laitteeseen ladatun ohjelman testauksen suorittamiseksi, laitteessa on järjestetty määritettäväksi ainakin yksi ohjelmaan liittyvä tilatieto, ja laitteeseen on muodostettu ainakin yksi ohjelman käyttöoikeuksiin tai tietoturvallisuuteen liittyvä avain mainitussa ohjelmassa käytettäväksi. Keksintö kohdistuu vielä 20 tallennusvälineeseen, johon on tallennettu joukko koneellisesti . suoritettavissa olevia ohjelmakäskyjä ohjelman testauksen • » · suorittamiseksi laitteessa, johon laitteeseen on järjestetty ladattavaksi : ainakin yksi ohjelma laitteessa suoritettavaksi, jolle ohjelmalle on mää- ritetty ainakin yksi tilatieto, ja muodostettu ainakin yksi ohjelman 25 käyttöoikeuksiin tai tietoturvallisuuteen liittyvä avain mainitussa : V ohjelmassa käytettäväksi.
• I I
I t » * »
Tunnetaan sovelluksia, joita voidaan käyttää laitteessa sen jälkeen kun :· sovellukselle on hankittu käyttöoikeus. Tällainen käyttöoikeus voidaan 30 tunnetun tekniikan mukaisissa järjestelmissä hankkia esimerkiksi siten, - * # että käyttäjä lataa sovelluksen tietoverkon välityksellä laitteeseen. Sa- t > massa yhteydessä käyttäjä ilmoittaa yhteystietonsa, jolloin sovelluksen tarjoaja lähettää esimerkiksi postin välityksellä käyttöoikeuden avaami-: sessa tarvittavia tietoja. Käyttäjä voi maksaa sovelluksen käyttöoikeu- 35 desta edullisesti latauksen yhteydessä ilmoittamalla luottokorttinsa numeron. Tällöin maksu veloitetaan luottokorttiyhtiön välityksellä. Toi- 2 115564 f saalta maksu voidaan suorittaa myös ns. postiennakolla, jolloin käyttäjä suorittaa maksun lunastaessaan postitse tulevat käyttöoikeustiedot. Sovelluksen käyttäminen voidaan aloittaa käyttäjän syötettyä vastaanottamansa tiedot käyttöoikeudesta. Tällaisia tietoja voivat olla esim.
5 käyttäjätunnus ja salasana, rekisteröintikoodi, jne. Käyttöoikeudet sisältävät edullisesti tiedon käyttäjän laitteen tunnuksesta tai muun yksilöivän tiedon, jolla estetään eri käyttäjiä käyttämästä samaa sovellusta yhden käyttäjän käyttöoikeuksilla.
10 Elektroniikkalaitteiden monipuolistuessa on noussut esiin tarve suojata tiettyjä elektroniikkalaitteen toimintoja siten, että niihin pääsevät käsiksi vain valtuutetut ohjelmat. Esimerkiksi matkapuhelimista on kehitetty monipuoliseen tietojenkäsittelyyn soveltuvia kommunikointilaitteita, joissa voidaan suorittaa muitakin ohjelmia kuin pelkästään puheluiden 15 toteuttamisessa tarvittavia ohjelmia. Tällaisiin laitteisiin voidaan lisäksi jälkikäteen asentaa uusia ohjelmia ja jo asennettuja ohjelmia on mahdollista päivittää uudempiin versioihin. Kuitenkin mm. matkapuhelutoi-minnot edellyttävät tiettyä varmistusta siitä, että mikä tahansa ohjelma ei pääse esimerkiksi selvittämään SIM-kortille tallennettua tietoa tai 20 soittamaan matkapuhelinverkkoon väärillä identifiointitiedoilla jonkin toisen matkapuhelintilaajan laskuun. Vastaavasti laitteissa, joissa on • · # esim. rahaliikenteeseen liittyviä toimintoja, kuten laitteen käyttäminen I maksuvälineenä, on varmistuttava siitä, että virheellinen tai asiaton / ohjelma ei pääse vaikuttamaan rahaliikenteeseen tai muuttamaan :···: 25 esim. tietoa laitteeseen tallennetusta rahamäärästä. Lisäksi rajoitettuja : V käyttöoikeuksia voi liittyä joidenkin digitaalisten tallenteiden käyttämi- seen laitteessa. Käyttäjä on esimerkiksi tilannut musiikkia, ohjelmia tai muita digitaalisia tallenteita ja asentanut ne laitteeseensa. Tällaisten ;:· digitaalisten tallenteiden käyttöoikeuksia on joissakin tapauksissa ra- 30 joitettu, esimerkiksi digitaalisen tallenteen saa asentaa vain tiettyyn • * * . \ laitteeseen, digitaalisen tallenteen käyttökertojen lukumäärää tai käyt- töaikaa on voitu rajoittaa, tai digitaalisen tallenteen käyttämiseksi on ·;·*’ suoritettava maksu esim. kultakin käyttökerralta. Edellä esitetyn kaltai- i siä tilanteita varten on laitteen ohjelmistoon toteutettu suojattu osa, 35 jossa suoritetaan tarvittavat luotettavuustarkistukset sekä salaukseen ja salauksen purkamiseen liittyviä toimintoja. Lisäksi tällaisissa laitteis- 3 115564 sa on tyypillisesti käyttöjärjestelmä, jota käytetään mm. laitteen toiminnallisten lohkojen hallintaan ja tietojen välitykseen eri lohkojen välillä. Käyttöjärjestelmän ja suojatun osan välille on toteutettu rajapinta, jonka kautta tietoa välitetään käyttöjärjestelmän ja suojatun osan välillä. Esi-5 merkiksi laitteessa vastaanotettu salattu sanoma välitetään suojattuun osaan, jossa salaus puretaan, minkä jälkeen purettu viesti voidaan välittää käyttöjärjestelmään jatkokäsittelyä varten.
Laitteessa suoritettavat ohjelmat voidaan jakaa erilaisiin käyttöoikeus-10 tasoihin. Ohjelmat voidaan jakaa esimerkiksi sellaisiin ohjelmiin, joilla ei ole minkäänlaista pääsyoikeutta luotettavuutta edellyttäviin toimintoihin, ja sellaisiin ohjelmiin, jolla on mahdollisuus käsitellä ainakin osaa luotettavuutta edellyttävistä toiminnoista. Tällöin ohjelmaa käynnistettäessä käyttöjärjestelmä tai suojattu osa tarkistaa ohjelman käyttöoikeudet 15 ja estää tai sallii ohjelman pääsyn tiettyihin toimintoihin. Käyttöoikeuksien määritys voi perustua esimerkiksi ohjelman alkuperään, jolloin esim. laitteen valmistajan tekemälle ohjelmalle voidaan antaa suuremmat käyttöoikeudet kuin kolmannen osapuolen valmistamalle ohjelmalle. Toisaalta esim. laitteen valmistaja voi antaa joillekin ohjelma-20 valmistajalle enemmän valtuuksia (luotettavuus suurempi) kuin joillekin . muille, jolloin luotettavampien ohjelmavalmistajien ohjelmille voidaan # * · antaa enemmän käyttöoikeuksia kuin sellaisille ohjelmille, joiden val-: mistajan luotettavuustaso on alhaisempi tai sitä ei ole määritelty.
25 Nykyisin on useisiin laitteisiin tallennettu avaimia erilaisia käyttötarkoi-: tuksia varten. Avaimia voidaan käyttää käytetään mm. tietojen tarkis- C*: tamiseen, käyttöoikeuksien tarkistamiseen, ohjelmien aitouden tarkis tamiseen sekä tietojen salaamiseen ja salauksen purkamiseen. Tällai- ;· set avaimet on voitu tallentaa joko sellaiseen osaan laitetta, johon ta- • *»* 30 vallisilla ohjelmilla ei ole pääsyä, tai avaimet on tallennettu salatussa . \ muodossa, jolloin avainta käyttävässä ohjelmassa on tämän salauksen • · · purkamiseen tarkoitettu toinen avain. Tällöin tämä toinen avain on tal-:···: lennettävä sellaiseen muistiin, johon tavallisilla ohjelmilla ei ole mah- • : dollista päästä käsiksi.
35 » » 4 115564
Ongelmana edellä kuvatun kaltaisissa laitteissa on mm. se, että uusia ohjelmia kehitettäessä tai olemassa olevien ohjelmien edelleen kehittämisessä tulisi ohjelmia pystyä testaamaan mahdollisimman todellisessa ympäristössä. Testattavalla ohjelmalla tulisi olla käytettävissään 5 myös tarvittavat avaimet. Ohjelman testauksessa käytettävillä työkaluilla, kuten virheenjäljitysohjelmalla (debugger) ja/tai -laitteistolla on mahdollista päästä tutkimaan sellaisia alueita laitteesta, joissa on salaisena pidettävää tietoa, kuten edellä mainitut avaimet. Osa tällaisista saattaa olla sellaisia, joiden paljastumisesta ei ole suurta haittaa. Kui-10 tenkin osa on todennäköisesti sellaisia avaimia, joihin ei saa päästä käsiksi edes testitilanteessa. Tällaiset avaimet liittyvät mm. erilaisiin maksusovelluksiin, digitaalisten tallenteiden käyttöoikeuksien hallintaan (DRM, Digital Rights Management), luottamuksellisen tiedon välittämiseen salattuna, ja muihin vastaaviin toimintoihin.
15
Joissakin tunnetun tekniikan mukaisissa ratkaisuissa on ainakin kaikki tärkeät, salassa pidettävät avaimet korvattu testiavaimilla, jotka käytön jälkeen poistetaan. Tällöin ohjelmien testausta voidaan suorittaa käyttämällä näitä testiavaimia. Laitteeseen on testiavainten tilalle kuitenkin 20 asennettava uudet avaimet sen jälkeen kun testaus on suoritettu.
• i ·
Nyt esillä olevan keksinnön eräänä tarkoituksena on aikaansaada pa-: rannettu menetelmä ja järjestelmä ohjelmien testaamiseksi todellisessa «* * t ‘ laiteympäristössä. Keksintö perustuu siihen ajatukseen, että määrite- :· ·' 25 tään laitteessa käytettäville avaimille ainakin kaksi eri turvallisuustasoa, : V jolloin kullekin avaimelle valitaan jokin näistä turvallisuustasoista. En- simmäinen turvallisuustaso on edullisesti alemman turvallisuuden taso, ja toinen turvallisuustaso on vastaavasti korkeamman turvallisuuden I· taso. Keksinnön mukaisessa ratkaisussa ensimmäisen turvallisuusta- :**; 30 son avaimia voidaan käyttää myös testaustarkoituksissa, kun sen si jaan toisen turvallisuustason avaimet korvataan testiavaimilla testauk- » · > : sen suorittamiseksi. Täsmällisemmin ilmaistua nyt esillä olevan keksin- ';·* nön mukaiselle menetelmälle on pääasiassa tunnusomaista se, että määritetään laitteessa käytettäville avaimille ainakin kaksi eri turvalli- »·» · ;35 suustasoa, tutkitaan mainittu avaimelle määritetty turvallisuustaso ja ainakin yksi ohjelmaan liittyvä tilatieto, ja tutkimisen perusteella pääte- 5 115564 tään, onko mainittu avain käytettävissä ohjelman tilatiedon osoittamassa toimintatilassa. Keksinnön mukaiselle järjestelmälle on pääasiassa tunnusomaista se, että laitteessa käytettäville avaimille on määritetty ainakin kaksi eri turvallisuustasoa, jolloin järjestelmä käsittää tutkimis-5 välineet mainitun turvallisuustason ja ainakin yhden ohjelmaan liittyvän tilatiedon tutkimiseksi, ja päättelyvälineet sen päättämiseksi, onko mainittu avain käytettävissä ohjelman tilatiedon osoittamassa toimintatilassa. Keksinnön mukaiselle laitteelle on pääasiassa tunnusomaista se, että laitteessa käytettäville avaimille on määritetty ainakin kaksi eri tur-10 vallisuustasoa, jolloin laite käsittää tutkimisvälineet mainitun turvallisuustason ja ainakin yhden ohjelmaan liittyvän tilatiedon tutkimiseksi, ja päättelyvälineet sen päättämiseksi, onko mainittu avain käytettävissä ohjelman tilatiedon osoittamassa toimintatilassa. Keksinnön mukaiselle tallennusvälineelle on vielä pääasiassa tunnusomaista se, että laittees-15 sa käytettäville avaimille on määritetty ainakin kaksi eri turvallisuustasoa, ja että tallennusväline käsittää lisäksi ohjelmakäskyjä mainitun avaimelle määritetyn turvallisuustason ja ainakin yhden ohjelmaan liittyvän tilatiedon tutkimiseksi, ja tutkimisen perusteella sen päättämiseksi, onko mainittu avain käytettävissä ohjelman tilatiedon osoittamassa 20 toimintatilassa.
• * » • > · :'j!t Nyt esillä olevalla keksinnöllä saavutetaan merkittäviä etuja tunnetun : tekniikan mukaisiin ratkaisuihin verrattuna. Keksinnön mukaisessa jär- • · * > · [ ' jestelmässä voidaan ohjelmien testaaminen suorittaa mahdollisimman 25 paljon todellista käyttötilannetta vastaavissa olosuhteissa ja ympäris- • I i : töissä. Tällöin virheiden paljastumistodennäköisyys on suurempi kuin tunnetun tekniikan mukaisissa ratkaisuissa, jolloin myös valmiiden ohjelmien luotettavuus on parempi. Tärkeiden avainten turvallisuus on ·· myös varmennettu, koska niitä ei käytetä testitilanteessa. Kuitenkin 30 osaa avaimista voidaan käyttää myös testauksessa, jolloin testiavain-. \ ten tarve on pienempi kuin tunnetun tekniikan mukaisia ratkaisuja käy- f I « : : : tettäessä.
• · * • · • Keksintöä selostetaan seuraavassa tarkemmin viitaten samalla oheisiin * ·« · ;··*. 35 piirustuksiin, joissa 6 115564 kuvat 1 a ja 1 b esittävät erään laitteen avaintenkäsittelyhierar- kiaa pelkistetysti.
kuva 2 esittää keksinnön erään edullisen suoritusmuodon 5 mukaisessa laitteessa toteutetun ohjelmien suoritusympä ristön rakennetta pelkistettynä kaaviona, kuva 3a esittää keksinnön erään edullisen suoritusmuodon mukaista laitetta pelkistettynä lohkokaaviona, ja 10 kuva 3b esittää keksinnön erään edullisen suoritusmuodon mukaisen laitteen suojattua lohkoa pelkistettynä lohkokaaviona.
Keksinnön erään edullisen suoritusmuodon mukaisen menetelmän 15 toimintaa selostetaan seuraavassa käyttäen esimerkkinä kuvassa 3a esitettyä laitetta. Laite 1 käsittää yhden tai useamman suorittimen 2, jolla suoritetaan ohjelmia, suoritetaan laitteen käyttöjärjestelmätoimintoja, ohjataan laitteen eri toiminnallisten lohkojen toimintaa jne. Laitteessa on myös suojattu lohko 3, jossa suoritetaan suuri osa sellaisista 20 toiminnoista, joiden suoritukseen liittyy salaisena tarkoitettuja toimen-. piteitä, kuten salaisten avainten käsittelyä. Tämän suojatun lohkon eräs
I « I
esimerkkirakenne on esitetty kuvassa 3b, jota selostetaan jäljempänä ; tarkemmin. Lisäksi laitteessa on muistia 4 mm. ohjelmien ja laitteen I,/ toiminnassa tarpeellisten tietojen tallentamiseksi. Laitteessa 1 on myös :···: 25 lähetin 5 ja vastaanotin 6, joiden avulla laite 1 voi olla tiedonsiirtoyhtey- : V dessä tiedonsiirtoverkkoon 2. Lähetin 5 ja vastaanotin 6 ovat edullisesti langattomaan tiedonsiirtoon tarkoitettuja, jolloin laitteella 1 voidaan olla yhteydessä langattomaan tiedonsiirtoverkkoon, kuten matkaviestin-*!· verkkoon (ei esitetty). Laitteessa 1 voi olla myös esim. lähitiedonsiirto- 30 välineet 7 laitteen 1 läheisyydessä olevien muiden laitteiden (ei esitet-. ·. ty) kanssa kommunikoimiseksi. Nämä lähitiedonsiirtovälineet 7 käsittä- t % » vät esimerkiksi pienitehoiseen radiotiedonsiirtoon perustuvan lähe-tin/vastaanottimen, kuten Bluetooth™ lähetin/vastaanottimen. Laitteen : käyttöliittymässä 8 on edullisesti näyttö 8.1, näppäimistö 8.2, kuulo- 35 ke/kaiutin 8.3 ja mikrofoni 8.4. On selvää, että laitteessa voi olla myös useampia kuin yksi käyttöliittymä. Tällöin yksi käyttöliittymä voi esimer- 7 115564 kiksi olla järjestetty pääasiassa tietojenkäsittelytoimintoja varten ja toinen käyttöliittymä voi olla järjestetty pääasiassa matkapuhelintoimintoja varten. Eräs esimerkki tällaisesta laitteesta on Nokia 921 Oi Communicator™ -kommunikointilaite. Laitteessa 1 on vielä edullisesti 5 käyttäjän tunnistekortti 9, kuten SIM (Subscriber Identification Module) ja/tai USIM (UMTS Subscriber Identitfication Module), jolla suoritetaan käyttäjän tunnistus laitetta 1 käynnistettäessä sekä käyttäjälle myönnettyjen matkaviestintoimintojen ominaisuuksien selvittäminen.
10 Kuvan 3b mukainen suojattu lohko 3 käsittää edullisesti lukumuistia 3.1, luku/kirjoitusmuistia 3.2, suorittimen 3.3, väyläliitännän 3.4 sekä testausliitännän 3.5. Suojattu lohko on sopivimmin muodostettu yhdeksi integroiduksi piiriksi siten, että sen sisäisiin kytkentöihin ei ole mahdollista päästä käsiksi ulkopuolelta. Tällöin suojatun lohkon sisällä 15 välitettävien signaalien selvittäminen on lähes mahdotonta. Lukumuis-tiin 3.1 on tallennettu sellaista tietoa ja ohjelmia, joita ei laitteen 1 valmistuksen jälkeen ole tarve muuttaa. Lukumuistiin 3.1 on tallennettu mm. suojatun lohkon tunnus (chip ID), joidenkin avainten muodostamisessa käytettäviä satunnaislukuja, tietojen latauksen hallintatoimintoja, 20 suojatun muistin hallintatoimintoja, laitteisto-ohjaimia jne. Suojatun loh- . kon luku/kirjoitusmuistia 3.2 käytetään mm. suojattujen ohjelmien ajon- • * · aikaiseen tallentamiseen sekä ohjelmien suorituksen aikana tarvitta-; vien, salaisena pidettävien tietojen väliaikaiseen tallentamiseen. Suo- I M . t jatun lohkon suorittimen 3.3 tehtävänä on mm. suojattujen ohjelmien 25 suorittaminen sekä väyläliitännän 3.4 ohjaus. Väyläliitännän 3.4 kautta : V voidaan tietoa siirtää suojatun lohkon 3 ja muun laitteen 1 välillä. Kun ei ole tarve siirtää tietoa liitäntärajapinnan kautta, suoritin 3.3 asettaa väyläliitännän 3.4 sopivimmin sellaiseen tilaan, että väyläliitäntään ei •l· välitetä mitään suojatun lohkon sisäisiä signaaleita. Tällöin suojatun 30 lohkon sisäistä toimintaa ei voi päätellä edes liitäntärajapinnan signaa- I · » , leita tarkkailemalla.
I I t **·' On kuitenkin selvää, että laite 1 voidaan toteuttaa myös siten, että ; suojatun lohkon 3 toiminnot sekä muut toiminnot toteutetaan yhdessä ,.···; 35 suorittimessa. Tällöin suojatun lohkon lukumuisti 3.1, • · · luku/kirjoitusmuisti 3.2 ja väyläliitäntä 3.4 on toteutettu suorittimen si- 8 115564 säisinä lohkoina, ja että suoritin pystyy estämään sisäisen väylän signaalien tarkkailemisen suorittimen liitäntänastojen kautta silloin, kun suoritin on suorittamassa suojatun lohkon toimintoja.
5 Lisäksi on mahdollista, että suojattu lohko 3 toteutetaan laitteeseen 1 liitettävissä olevalla toimikortilla 9, kuten SIM-kortilla, tai muussa tarkoitukseen soveltuvassa paikassa laitteen 1 yhteydessä.
Kuvassa 2 on esitetty laitteen 1 ohjelmien suoritusympäristön raken-10 netta pelkistetysti. Se käsittää suojatun ympäristön 10 ja suojaamattoman (ei-suojatun) ympäristön 11. Suojattu ympäristö 10 on toteutettu laitteen 1 suojatussa lohkossa 3. Vastaavasti suojaamaton ympäristö 11 on toteutettu laitteen muissa toiminnallisissa lohkoissa, kuten suorittimessa 2 ja muistissa 4. Suojattu ympäristö koostuu lukumuistista 3.1, 15 luku/kirjoitusmuistista 3.2 sekä näiden välille järjestetystä suojatun sovelluksen sovellusrajapinnasta 10.1 (Protected Application API). Suojatulla sovelluksella tarkoitetaan sellaista ohjelmaa, joka on tarkoitettu suoritettavaksi suojatussa ympäristössä siten, että ohjelman toimintaa ei voida tarkkailla ulkoapäin. Tällaiset ohjelmat ovat tiettyä turvalli-20 suustasoa edellyttävät ohjelmat, kuten eräät maksuliikenteeseen liitty- . vät ohjelmat, tietojen salaamiseen/salauksen purkamiseen tarkoitetut • * · :['m ohjelmat, joissa käsitellään salaista salausavainta salaamattomassa ! muodossanne.
* · t J » « < • < t 25 Suojatun ympäristön 10 ja suojaamattoman ympäristön 11 välille on : V muodostettu edullisesti kolme liitäntää 12.1, 12.2, 12.3, jotka laitteisto-
• · I
tasolla on toteutettu edellä mainitun liitäntärajapinnan 3.4 väylien (ei esitetty) avulla. Ensimmäinen liitäntä 12.1 on tarkoitettu suojatusta ym-:· päristöstä tehtäviä aliohjelmakutsuja varten, jossa kutsuttava aliohjel- ;**·; 30 ma sijaitsee suojaamattomassa ympäristössä. Kutsuttavat aliohjelmat ovat esimerkiksi käyttöjärjestelmäpalveluita 11.1, kuten muistin allo- • · » kointi sekä suojattujen (salattujen) tietojen tallentaminen suojatun loh-:···: kon ulkopuolella olevaan muistiin 4. Toinen liitäntä 12.2 on tarkoitettu : sovellusrajapinnaksi suojaamattomasta ympäristöstä 11 suojattuun tM » ;···. 35 ympäristöön 10. Tätä toista liitäntää 12.2 voidaan käyttää esim. suoja tun ympäristön palveluiden käyttämiseen silloin, kun ei ole tarvetta 9 115564 siirtää salaista tietoa suojatun ympäristön ulkopuolelle. Suojaamattomassa ympäristössä on edullisesti käyttöjärjestelmäohjaimia 11.2 (OS drivers), joiden kautta näitä palveluita voidaan kutsua. Esimerkkinä tällaisista palveluista mainittakoon digitaalisen allekirjoituksen tarkista-5 minen, jolloin suojaamattomasta ympäristöstä 11 välitetään tarkistettava digitaalinen allekirjoitus ja tarvittaessa myös julkinen avain suojattuun ympäristöön 10. Suojatussa ympäristössä on ohjelma, jolla tarkistaminen voidaan suorittaa. Kolmas liitäntä 12.3 suojatun ympäristön 10 ja suojaamattoman ympäristön 11 välillä on tarkoitettu tavanomai-10 sen (ei-suojatun) sovelluksen ja suojatun sovelluksen välistä kommunikointia varten.
Kuvassa 1a on esitetty laitteen 1 avaintenkäsittelyhierarkiaa pelkistettynä kaaviona. On kuitenkin selvää, että nyt esillä oleva esimerkki on 15 vain eräs mahdollinen suoritusmuoto, jota nyt esillä olevan keksinnön yhteydessä voidaan soveltaa. Kuvan 1a avaintenkäsittelyhierarkiassa on joukko julkisia avaimia, jotka muodostavat laitteen 1 ns. avaintieto-rakenteen 101 (otsikon, Public Key Header). Tämä avaintietorakenne 101 sisältää tietoa laitteen 1 julkisista avaimista sekä julkiset avaimet 20 102—105. Julkisia avaimia tässä yhteydessä ovat mm. laitekohtainen . avain 102 (Chip HW Public Key), suojattujen ohjelmien allekirjoitus- avain 103 (Secure Mode Public Key), ohjelmien allekirjoitusavain 104 : (OEM1 Software Signing Key), ja ohjelmien testauksen allekirjoitus- avain 105 (OEM2 R&D Control Key). Julkiset avaimet voidaan laitteen • » ’···* 25 1 käytön aikana lukea muistista 4 ja tallentaa suojatun ympäristön V luku/kirjoitusmuistiin 3.2. Tallennuksen yhteydessä tarkistetaan tietojen •«« oikeellisuus edullisesti laitekohtaisen avaimen 102 avulla. Toisaalta julkiset avaimet voidaan lukea muistista 4 suojatun ympäristön luku/kirjoitusmuistiin 3.2 siinä vaiheessa kun niitä tarvitaan. Tällöinkin : ’ ‘ ’: 30 on suoritettava tietojen oikeellisuuden tarkistaminen.
Suojauslohkon käsittävään piiriin on tallennettu vielä laitekohtaisen ;·* avaimen 102 perusteella laskettu tiivistearvo 106 (Hash), piirikohtainen : ‘ : sisäinen avain 107 (Chip Specific Internal Key), ja tunnistusavain 108 35 (Authentication Key). Näitä edellä mainittu tiivistearvo 106, piirikohtainen sisäinen avain 107 ja tunnistusavain 108 on tallennettu piiriin sopi- 10 115564 vimmin sen valmistusvaiheessa, eikä niitä voi muuttaa sen jälkeen. Myös laitekohtainen avain 102 on tallennettu sopivimmin piirin valmistuksen yhteydessä ja sitä ei voida muuttaa tallennuksen jälkeen. Laitteeseen on edullisesti tallennettu avaimia myös testausta varten. Tes-5 tauksen hallinta-avainta 109 (Site R&D control Public Key) käytetään testauksen suorittamisen yhteydessä, jota kuvataan tarkemmin jäljempänä tässä selityksessä.
Edellä esitettyjen avaimien lisäksi on kuvassa 1a esitetty muitakin lait-10 teen suojaukseen liittyviä lohkoja. Laitteessa on suojatussa ympäristössä suoritettavaksi tarkoitettuja ohjelmia 110, joiden luotettavuus voidaan tarkistaa tarkistamalla ohjelmien yhteyteen tallennettu digitaalinen allekirjoitus käyttämällä suojattujen ohjelmien allekirjoitusavainta 103. Näihin ohjelmiin on voitu tallentaa myös ohjelmien sisäiseen käyttöön 15 tarkoitettuja julkisia avaimia 111, jolloin nämä julkiset avaimet ladataan suojatun ympäristön luku/kirjoitusmuistiin 3.2 ohjelmien lataamisen yhteydessä. Lisäksi laitteessa on suojaamattomassa ympäristössä suoritettavaksi tarkoitettuja ohjelmia 112, jotka on digitaalisesti allekirjoitettu ohjelmien allekirjoitusavainta 104 vastaavalla salaisella 20 avaimella. Testauskonfiguraatio 113 sisältää tietoa avaimista 115,116, joita voidaan käyttää testauksen yhteydessä. Testauskonfiguraatio on • I · digitaalisesti allekirjoitettu testauksen hallinta-avainta 109 vastaavalla *” ! salaisella avaimella. Myös laitteen sisältämä yksilöllinen laitetunnus 114 on digitaalisesti allekirjoitettu käyttämällä laitekohtaista avainta 102 '··’ 25 vastaavalla salaisella avaimella.
• · · • * • ·
Kuvan 1a kaaviossa yhtenäiset nuolet esittävät sitä, mitä avaimia käytetään eri tietojen tarkistuksessa (luotettavuuden tarkistusketjua). Esi-merkiksi laitekohtaista avainta käytetään suojattujen ohjelmien allekir-30 joitusavaimen 103, ohjelmien allekirjoitusavaimen 104 ja ohjelmien . \ testauksen allekirjoitusavaimen 105 tarkistamiseen. Vastaavasti tiivis- tearvoa 106 voidaan käyttää laitekohtaisen avaimen 102 oikeellisuuden • » *·:·' (eheyden) tarkistamiseen.
• » · • # » * * $ » 35 Myös avaintietorakenne 101 on digitaalisesti allekirjoitettu sen sisältämien tietojen luotettavuuden varmistamisen mahdollistamiseksi.
11 115564
Edellä kuvatuilla julkisilla avaimilla tarkistettavissa olevat tiedot on edullisesti laitteen 1 ja/tai ohjelman valmistusvaiheessa allekirjoitettu julkista avainta vastaavalla salaisella avaimella sinänsä tunnetusti.
5 Salaista avainta ei tarvitse tallentaa itse laitteeseen tai ohjelmaan, jos salaista avainta vastaavaa julkista avainta käytetään ainoastaan oikeellisuuden varmentamiseen, mutta ei tietojen allekirjoittamiseen tai salaamiseen.
10 Kuvassa 1b on kuvattu laitteen 1 avainhierarkiaa symmetristen avainten osalta. Symmetristen avainten käyttö perustuu sinänsä tunnetusti siihen, että samaa avainta käytetään tietojen salaami-seen/allekirjoittamiseen ja salauksen purkamiseen/allekirjoituksen tarkistamiseen. Tällaista symmetristä avainta ei siis saa paljastaa ulko-15 puolisille. Tunnistusavainta 108 voidaan käyttää piirin tunnistamiseen esimerkiksi suojatussa sovelluksessa 110, joka on tarkoitettu käytettäväksi ainoastaan tietyssä laitteessa 1. Piirikohtainen sisäinen avain 107 on edullisesti piirikohtainen satunnaisluku ja on tarkoitettu käytettäväksi luotettavuuden ja eheyden varmistamiseksi, kun tietoa tallennetaan 20 suojatun ympäristön ulkopuolelle. Piirikohtainen avain 111 on muodostettu piiriin liittyvän informaation perusteella ja sen tulisi olla erilai-nen eri piireillä. Jokaiseen suojatussa ympäristössä suoritettavissa ole- • · · vaan ohjelmaan 110 voi liittyä yksi tai useampi sovelluskohtainen avain 119, joka on tarkoitettu ohjelman sisäiseen käyttöön. Lisäksi ohjelmia • · 25 varten voidaan muodostaa sovellusten välisiä avaimia 120, jotka on tarkoitettu käytettäväksi kahden ohjelman välisessä kommunikoinnissa. Tällainen sovellusten välinen avain on tallennettu kumpaankin ohjelmaan, jossa sitä on tarkoitus käyttää.
“ 30 Jokaisella ohjelmalla on edullisesti ainakin valmistajakohtainen tunnus . (Application Originator ID) ja sovellustunnus (Application ID), jotka yk- ::.V silöivät kunkin sovelluksen. Nämä tunnisteet on tallennettu sovelluk- • · ’·;·* seen edullisesti tiivistearvoina, jotka on laskettu tunnuksen perusteella käyttämällä jotakin salaista avainta. Tällöin tiivistearvon oikeellisuus : “ ’: 35 voidaan tarkistaa salaista avainta vastaavalla julkisella avaimella.
12 115564
Ohjelman käytössä olevia avaimia 119, 120 voidaan käyttää mm. tietojen salaamiseen, salauksen purkamiseen, tietojen digitaaliseen allekirjoittamiseen, digitaalisen allekirjoituksen luotettavuuden tarkistamiseen jne. Ohjelma voi muodostaa yhdestä symmetrisestä perusavai-5 mesta useampia avaimia siten, että muodostetun avaimen paljastuminen ei vaaranna perusavaimen salaisena pysymistä. Tällöin on edullista, mikäli ohjelma ei käytä samaa avainta useisiin eri tarkoituksiin, vaan muodostaa erilaisia avaimia eri tarkoituksia varten.
10 Nyt esillä olevan keksinnön mukaisessa ratkaisussa on sovelluskohtaisiin avaimiin 119 ja sovellusten välisiin avaimiin 120 liitetty tieto, joka ilmaisee avainten käytettävyyden ohjelmien testauksessa, eli turvallisuustason. Tämä turvallisuustaso voi olla ohjelmakohtainen, jolloin kaikkia ohjelman käyttämiä avaimia käsitellään samalla tavalla, tai tieto 15 voi olla avainkohtainen, jolloin samassakin ohjelmassa voidaan eri avaimia käsitellä eri tavalla. Keksinnön edullisen suoritusmuodon mukaisessa ratkaisussa on määritetty ensimmäinen turvallisuustaso ja toinen turvallisuustaso, jolloin ensimmäinen turvallisuustaso on alemman turvallisuuden taso, ja toinen turvallisuustaso on korkeamman tur-20 vallisuuden taso. Erittäin luotettavaksi tarkoitetuille ja ehdottomasti sa-. .·. Iässä pidettäville avaimille turvallisuustasoksi asetetaan korkeamman : turvallisuuden taso, eli avaimia ei voida käyttää testauksen yhteydessä.
Tällaisella avaimella on eri arvo normaali toimintamoodissa ja testi-moodissa. Muussa tapauksessa turvallisuustasoksi asetetaan ensim- • * 25 mäinen turvallisuustaso. Tällaisella avaimella on sama arvo sekä nor- • ♦ » ; maali toimintamoodissa että testausmoodissa. Turvallisuustaso voi- daan ilmaista esim. yhden bitin arvolla, joka siis voi olla joko 0 tai 1. Ohjelman laatija voi tallentaa tämän turvallisuustason ohjelmaan joko koko ohjelmaa käsittäväksi tai kullekin avaimelle erikseen.
O 30 : [·. Seuraavassa selostetaan avainten käyttämistä ohjelmien testaamisen \\V yhteydessä. Laitteen 1 käynnistyksen yhteydessä suoritetaan edulli- ’·.··* sesti laitteeseen 1 tallennetun ja käynnistettävän käyttöjärjestelmän ·.· i aitouden varmistaminen. Tämä tehdään esimerkiksi tarkistamalla 35 käyttöjärjestelmään tallennettu digitaalinen allekirjoitus ohjelmien alle-kirjoitusavaimella 104. Jos tarkistus osoittaa, että käyttöjärjestelmä on 115564 13 oikea, voidaan käyttöjärjestelmä käynnistää. Tässä yhteydessä laitteelle 1 ilmoitetaan testausmoodiin siirtymisestä. Testaaja ilmoittaa edullisesti laitteen 1 käyttöliittymällä 8 sen, minkä ohjelman hän haluaa käynnistää testausta varten. Tämän tiedon perusteella ohjelmien asen-5 nuspalvelu tarkistaa, onko ohjelmalle annettu käyttöoikeuksia. Jos käyttöoikeuksia ei vielä ole, ilmoittaa ohjelmien asennuspalvelu käyttöoikeuksien hankintapalvelulle tarpeesta suorittaa käyttöoikeuksien hankkiminen. Käyttöoikeuksien hankinta suoritetaan esim. seuraavasti. Laitteesta 1 lähetetään laitevalmistajan palvelimelle (ei esitetty) tai 10 vastaavalle viesti, jossa on tietoa laitteesta 1, jossa testaus halutaan suorittaa sekä ohjelmasta, jolle myönnettävistä käyttöoikeuksista on kyse. Laitetieto käsittää ainakin laitteen tunnistetietoa, kuten laitetun-nuksen (Device ID), sekä tietoa testattavan ohjelman kehittäjästä. Laitevalmistajan palvelimella tutkitaan vastaanotetusta viestistä laitetun-15 nus ja haetaan sen perusteella laitteen 1 sekä ohjelman kehittäjän tiedot palvelimen tietokannasta. Nämä tiedot käsittävät mm. laitekohtaisen avaimen 102, jolla tietojen salaaminen voidaan suorittaa siten, että salauksen purkaminen on mahdollista vain laitteessa 1. Ohjelmankehit-täjän tiedot sisältävät tietoa siitä, minkälaisia käyttöoikeuksia ao. ke-20 hittäjän ohjelmille voidaan myöntää. Nämä oikeudet voivat riippua mm.
. .·. siitä, minkälainen sopimus laitteen valmistajan ja ohjelman kehittäjän välille on solmittu.
* · ·
* · * I
Jos ohjelman testaaminen laitteessa 1 voidaan sallia, lähetetään käyt- • · 25 töoikeuksien myöntämisviesti laitteeseen 1. Laitteessa 1 vastaanotettu käyttöoikeuksien myöntämisviesti tutkitaan ja tarvittaessa varmenne-taan viestin aitous ja koskemattomuus. Käyttöoikeuksien myöntämisviesti sisältää edullisesti ainakin seuraavat tiedot. Käyttöoikeuspara-metrit (käyttöoikeusvektori), joka sisältää tiedon siitä, mitä toimintoja Γ": 30 ohjelmalla on sallittua käyttää. Näitä toimintoja ovat esimerkiksi SIM- • kortin käsittelyyn liittyvät toiminnot, tietyt käyttöjärjestelmätoiminnot, käyttöliittymätoiminnot ja vastaavat. Lisäksi käyttöoikeuksien myöntä- • · ’*:· misviestissä on tieto sen ohjelman tunnisteesta, johon kyseinen viesti liittyy. Tällöin ohjelmien latausohjelma 10.2 osaa kohdistaa mahdolliset : * * *: 35 käyttöoikeuksien laajennukset/rajoitukset oikeaan ohjelmaan. Tässä vaiheessa on tiedossa ohjelmalle myönnetyt käyttöoikeudet, joten 14 115564 ohjelman käynnistäminen voidaan suorittaa ja ohjelman toimintaa ohjata määritettyjen käyttöoikeuksien puitteissa.
Testauksen ajaksi suoritetaan mm. suojatun lohkon testausliitännän 5 3.5 aktivointi, jolloin testausliitännän liitäntälinjojen (ei esitetty) kautta voidaan selvittää suojatun lohkon 3 sisäisiä signaaleita. Tämä mahdollistaa suojatussa lohkossa 3 suoritettavien ohjelmien etenemisen seurannan (tracing) ja ohjelmavirheiden jäljittämisen (debugging). Käytettävissä on edullisesti ainakin kaksi testausmoodia: normaalien ohjel-10 mien testausmoodi ja suojattujen ohjelmien testausmoodi. Kuitenkin ennen testausmoodin aktivoimista tarkistetaan vielä se, onko testausta sallittu kyseisessä laitteessa 1. Tämä selviää tarkistamalla testauskon-figuraation 113 sisältämät tiedot mahdollisista testimoodeista.
15 Normaalien ohjelmien testausmoodissa käytetään ohjelmien allekirjoi-tusavaimen 104 lisäksi vastaavaa testausavainta 116. Suojattujen ohjelmien testausmoodissa käytetään suojattujen ohjelmien allekirjoitus-avaimen 103 tilalla vastaavaa testausavainta 115. Nämä testausavai-met 115, 116 on tallennettu esim. testauskonfiguraatioon 113.
20 . ·. Siinä vaiheessa kun ohjelman testaus halutaan aloittaa, toimitaan kek- sinnön erään edullisen suoritusmuodon mukaisessa menetelmässä • * · ’“ : seuraavasti. Testattava ohjelma on edullisesti tallennettu laitteen taval liseen muistiin 4 ja se on digitaalisesti allekirjoitettu. Testattavan ohjel-25 man digitaalisessa allekirjoittamisessa on käytetty edellä mainittua •‘ ·; testausavainta 115,116 vastaavaa salaista avainta.
• *
Laitteen 1 ollessa testausmoodissa aloitetaan ohjelman lataaminen suojatun lohkon luku/kirjoitusmuistiin 3.2. Latausohjelma 10.2 on tal-: 30 lennettu suojatun lohkon lukumuistiin 3.1. Latausohjelma 10.2 suorittaa : \ ladattavan ohjelman oikeellisuuden tarkistamisen testauksen allekirjoi- ::i,: tusavaimella 105, ennen kuin ohjelma käynnistetään. Lisäksi tarkiste- **:·* taan ohjelmaan liittyvien avainten turvallisuustaso. Jos turvallisuustaso ilmaisee, että avainta ei voida käyttää testauksessa, ohjelman käyttöön 35 asetetaan tätä avainta vastaava testiavain testauksen ajaksi. Jos turvallisuustaso sen sijaan ilmaisee, että avain on käytettävissä myös 15 115564 testauksessa, voidaan kyseistä avainta käyttää normaalisti myös testauksessa.
Edellä kuvatun kaltaisella järjestelyllä ei testaajalla ole mahdollisuutta 5 selvittää sellaisten avainten sisältöä, joissa turvallisuustaso on asetettu toiseen arvoon, eli korkeamman turvallisuuden tasoon, koska tällaisia avaimia ei käsitellä sellaisenaan testitilanteessa, vaan käytetään testi-avainta.
10 Käytännön sovelluksissa voi testaustoimintojen toteutuksia olla useita erilaisia. Esimerkiksi laitteeseen voidaan määrittää normaali toimintatila ja testaustoimintatila. Tällöin testaustoimintatilassa kaikki ohjelmat toimivat testitilassa ja kaikki kriittiset avaimet korvataan vastaavilla testi-avaimilla. Tässä suoritusmuodossa tieto testitilasta välitetään sopivim-15 min kaikille sellaisille ohjelmille, joissa on tarve huomioida avainten salaisena pysyminen. Tällaiset ohjelmat voivat korvata salaisena pidettävät avaimet testiavaimilla.
Testaustoiminto voidaan toteuttaa myös ohjelmakohtaisesti, jolloin 20 edullisesti ainoastaan testattava ohjelma tai ohjelmat asetetaan testiti-. .·. laan. Tällöin muut ohjelmat voivat toimia normaalisti. Tässä suoritus- muodossa ohjelman testaaminen ei siis vaikuta muihin ohjelmiin, jolloin • · muilta osin laitetta 1 voidaan tarvittaessa käyttää normaalisti. Käytän-nössä tällainen ohjelmakohtainen testaustoiminto voidaan toteuttaa 25 esim. seuraavasti. Käyttöjärjestelmän suojattu ydin (kernel) tai vastaa- • « k ; ·* va, jonka toimintaa ei kriittisiltä osin edes testitilanteessa pystytä tes- tauslaitteilla selvittämään, tutkii, onko testattavaksi aiotun ohjelman testaus sallittua kyseisessä laitteessa 1. Mikäli testaus on sallittu, ydin asettaa testattavan ohjelman testitilaan. Vastaavasti testauksen pää- 30 tyttyä voi ydin asettaa ohjelman normaaliin toimintatilaan, tai pysäyttää ; ’·. ohjelman.
♦ ·
Joissakin tapauksissa voi myös edellä kuvatussa ohjelmakohtaisessa testausvaihtoehdossa olla tarve välittää tieto jonkin ohjelman testitilas-35 sa olemisesta muille ohjelmille. Tämä voi olla tarpeen, jos on mahdollista, että testitilanteessa ei voida taata salaisten avainten salassa py- 16 115564 symistä. Tällöin normaali toimintatilassa olevassa ohjelmassa voidaan tehdä päätös siitä, vaihdetaanko avainten tilalle testiavaimet vai ei.
Testaustoiminto voidaan toteuttaa myös siten, että ohjelma on testiti-5 lassa niin kauan kunnes laitteessa 1 vastaanotetaan tai laitteeseen 1 asennetaan ohjelmalle normaalit käyttöoikeudet.
Keksinnön mukainen menetelmä voidaan suurelta osin toteuttaa ohjelmallisesti, jolloin muodostetaan joukko ohjelmakäskyjä menetelmän 10 toimintojen suorittamiseksi. Nämä ohjelmakäskyt voidaan sinänsä tunnetusti tallentaa tallennusvälineeseen, kuten muistiin 3.1, 4, CDROM-levylle, DVD-levylle, jne.
On selvää, että nyt esillä olevaa keksintöä ei ole rajoitettu ainoastaan 15 edellä esitettyihin suoritusmuotoihin, vaan sitä voidaan muunnella oheisten patenttivaatimusten puitteissa.
• · · • 1 · • · • < · • · · • · 1« · • · • · · * · · • · · • · • · • ·» • · • · * • 1 · * · * • 1 · * 1» · • · t 1 » » · • ♦ · · ·

Claims (17)

115564
1. Menetelmä ohjelman testauksen suorittamiseksi laitteessa (1), jossa laitteeseen (1) ladataan ainakin yksi ohjelma (110,112), määritetään 5 ainakin yksi ohjelmaan liittyvä tilatieto, ja muodostetaan ainakin yksi ohjelman käyttöoikeuksiin tai tietoturvallisuuteen liittyvä avain (111) mainitussa ohjelmassa käytettäväksi, tunnettu siitä, että määritetään laitteessa (1) käytettäville avaimille ainakin kaksi eri turvallisuustasoa, tutkitaan mainittu avaimelle määritetty turvallisuustaso ja ainakin yksi 10 ohjelmaan liittyvä tilatieto, ja tutkimisen perusteella päätetään, onko mainittu avain käytettävissä ohjelman tilatiedon osoittamassa toimintatilassa.
2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että 15 ensimmäinen turvallisuustaso on alemman turvallisuuden taso, ja toinen turvallisuustaso on korkeamman turvallisuuden taso.
3. Patenttivaatimuksen 1 tai 2 mukainen menetelmä, tunnettu siitä, että mainittu turvallisuustaso on ohjelmakohtainen, jolloin kaikille oh- 20 jelmassa käytettäville avaimille määritetään sama turvallisuustaso.
4. Patenttivaatimuksen 1 tai 2 mukainen menetelmä, tunnettu siitä, että mainittu turvallisuustaso on avainkohtainen, jolloin kullekin ohjel- j,, * massa käytettävälle avaimelle määritetään turvallisuustaso muista );·;* 25 avaimista olennaisesti riippumatta.
5. Jonkin patenttivaatimuksen 1—4 mukainen menetelmä, tunnettu siitä, että sellaiselle avaimelle, jota ei voida käyttää testauksen yhtey- ·:· dessä, määritetään testiavain käytettäväksi avaimen tilalla testauk- 30 sessa. *; 6. Jonkin patenttivaatimuksen 1—5 mukainen menetelmä, tunnettu siitä, että mainitut avaimet, joille turvallisuustaso määritetään, ovat oh-jelman sisäiseen käyttöön tarkoitettuja avaimia. ;·: 35 115564
7. Jonkin patenttivaatimuksen 1—6 mukainen menetelmä, tunnettu siitä, että ainakin yksi mainituista avaimista, joille turvallisuustaso määritetään, on kahden ohjelman käyttöön tarkoitettu avain käytettäväksi ohjelmien välisessä kommunikoinnissa. 5
8. Jonkin patenttivaatimuksen 1—7 mukainen menetelmä, tunnettu siitä, että mainittu ohjelman tilatieto ilmaisee ohjelman toimintatilan olevan testitila tai normaali toimintatila.
9. Jonkin patenttivaatimuksen 1—8 mukainen menetelmä, tunnettu siitä, että laitteella (1) on ainakin normaali toimintatila ja testitoiminta-tila, ja että tieto laitteen (1) toimintatilasta välitetään ohjelmille.
10. Järjestelmä ohjelman testauksen suorittamiseksi laitteessa (1), 15 johon on ladattu ainakin yksi ohjelma (110,112), järjestelmässä on järjestetty määritettäväksi ainakin yksi ohjelmaan liittyvä tilatieto, ja järjestelmään on muodostettu ainakin yksi ohjelman käyttöoikeuksiin tai tietoturvallisuuteen liittyvä avain (111) mainitussa ohjelmassa käytettäväksi, tunnettu siitä, että laitteessa (1) käytettäville avaimille on 20 määritetty ainakin kaksi eri turvallisuustasoa, jolloin järjestelmä käsittää tutkimisvälineet (3.3) mainitun turvallisuustason ja ainakin yhden oh-;jelmaan liittyvän tilatiedon tutkimiseksi, ja päättelyvälineet (119,120) sen päättämiseksi, onko mainittu avain käytettävissä ohjelman tilatiedon osoittamassa toimintatilassa. i:*:1 25 11 .Patenttivaatimuksen 10 mukainen järjestelmä, tunnettu siitä, että ensimmäinen turvallisuustaso on alemman turvallisuuden taso, ja toinen turvallisuustaso on korkeamman turvallisuuden taso M t I 30 ^.Patenttivaatimuksen 10 tai 11 mukainen järjestelmä, tunnettu / . siitä, että mainittu turvallisuustaso on ohjelmakohtainen, jolloin kaikille ; ohjelmassa käytettäville avaimille on määritetty sama turvallisuustaso.
13. Patenttivaatimuksen 10 tai 11 mukainen järjestelmä, tunnettu • 35 siitä, että mainittu turvallisuustaso on avainkohtainen, jolloin kullekin 115564 ohjelmassa käytettävälle avaimelle on määritetty turvallisuustaso muista avaimista olennaisesti riippumatta.
14. Jonkin patenttivaatimuksen 10—13 mukainen järjestelmä, 5 tunnettu siitä, että sellaiselle avaimelle, jota ei voida käyttää testauksen yhteydessä, on määritetty testiavain käytettäväksi avaimen tilalla testauksessa.
15. Laite (1), jossa on ainakin yksi suoritin (2, 3.3) laitteeseen ladatun 10 ohjelman (110,112) testauksen suorittamiseksi, laitteessa (1) on järjestetty määritettäväksi ainakin yksi ohjelmaan liittyvä tilatieto, ja laitteeseen on muodostettu ainakin yksi ohjelman käyttöoikeuksiin tai tietoturvallisuuteen liittyvä avain (111) mainitussa ohjelmassa (110,112) käytettäväksi, tunnettu siitä, että laitteessa (1) käytettäville 15 avaimille on määritetty ainakin kaksi eri turvallisuustasoa, jolloin laite (1) käsittää tutkimisvälineet (3.3) mainitun turvallisuustason ja ainakin yhden ohjelmaan liittyvän tilatiedon tutkimiseksi, ja päättelyväli-neet (119,120) sen päättämiseksi, onko mainittu avain käytettävissä ohjelman tilatiedon osoittamassa toimintatilassa. 20
16. Patenttivaatimuksen 15 mukainen laite (1), tunnettu siitä, että se !”:* käsittää matkaviestinvälineet (5, 6). • ·» t | ’ 17. Tallennusväline, johon on tallennettu joukko koneellisesti suoritet- 25 tavissa olevia ohjelmakäskyjä ohjelman testauksen suorittamiseksi • *,·* laitteessa (1), johon laitteeseen (1) on järjestetty ladattavaksi ainakin yksi ohjelma (110,112) laitteessa suoritettavaksi, jolle ohjelmalle on määritetty ainakin yksi tilatieto, ja muodostettu ainakin yksi ohjelman *;· käyttöoikeuksiin tai tietoturvallisuuteen liittyvä avain (111) mainitussa .···. 30 ohjelmassa käytettäväksi, tunnettu siitä, että laitteessa (1) käytettä- ville avaimille on määritetty ainakin kaksi eri turvallisuustasoa, ja että '· *· tallennusväline käsittää lisäksi ohjelmakäskyjä mainitun avaimelle mää- : ritetyn turvallisuustason ja ainakin yhden ohjelmaan liittyvän tilatiedon : tutkimiseksi, ja tutkimisen perusteella sen päättämiseksi, onko mainittu ....: 35 avain käytettävissä ohjelman tilatiedon osoittamassa toimintatilassa. 115564
FI20030156A 2003-02-03 2003-02-03 Menetelmä ja järjestelmä testauksen suorittamiseksi laitteessa ja laite FI115564B (fi)

Priority Applications (8)

Application Number Priority Date Filing Date Title
FI20030156A FI115564B (fi) 2003-02-03 2003-02-03 Menetelmä ja järjestelmä testauksen suorittamiseksi laitteessa ja laite
DE602004016460T DE602004016460D1 (de) 2003-02-03 2004-02-02 Verfahren und system zur durchführung von prüfungen in einer einrichtung und einrichtung
PCT/FI2004/050010 WO2004070586A1 (en) 2003-02-03 2004-02-02 A method and a system for performing testing in a device, and a device
EP04707246A EP1590722B1 (en) 2003-02-03 2004-02-02 A method and a system for performing testing in a device, and a device
CNB2004800032825A CN100374970C (zh) 2003-02-03 2004-02-02 用于在设备中执行测试的方法、系统及设备
JP2006500155A JP4417952B2 (ja) 2003-02-03 2004-02-02 デバイスにおいてテストを行う方法とシステム、およびデバイス
AT04707246T ATE408200T1 (de) 2003-02-03 2004-02-02 Verfahren und system zur durchführung von prüfungen in einer einrichtung und einrichtung
US10/771,164 US7418593B2 (en) 2003-02-03 2004-02-03 Method and a system for performing testing in a device, and a device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20030156 2003-02-03
FI20030156A FI115564B (fi) 2003-02-03 2003-02-03 Menetelmä ja järjestelmä testauksen suorittamiseksi laitteessa ja laite

Publications (3)

Publication Number Publication Date
FI20030156A0 FI20030156A0 (fi) 2003-02-03
FI20030156A FI20030156A (fi) 2004-08-04
FI115564B true FI115564B (fi) 2005-05-31

Family

ID=8565510

Family Applications (1)

Application Number Title Priority Date Filing Date
FI20030156A FI115564B (fi) 2003-02-03 2003-02-03 Menetelmä ja järjestelmä testauksen suorittamiseksi laitteessa ja laite

Country Status (8)

Country Link
US (1) US7418593B2 (fi)
EP (1) EP1590722B1 (fi)
JP (1) JP4417952B2 (fi)
CN (1) CN100374970C (fi)
AT (1) ATE408200T1 (fi)
DE (1) DE602004016460D1 (fi)
FI (1) FI115564B (fi)
WO (1) WO2004070586A1 (fi)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162035B1 (en) 2000-05-24 2007-01-09 Tracer Detection Technology Corp. Authentication method and system
US8566248B1 (en) 2000-08-04 2013-10-22 Grdn. Net Solutions, Llc Initiation of an information transaction over a network via a wireless device
US9928508B2 (en) 2000-08-04 2018-03-27 Intellectual Ventures I Llc Single sign-on for access to a central data repository
US7257581B1 (en) 2000-08-04 2007-08-14 Guardian Networks, Llc Storage, management and distribution of consumer information
US7793095B2 (en) 2002-06-06 2010-09-07 Hardt Dick C Distributed hierarchical identity management
US8171567B1 (en) 2002-09-04 2012-05-01 Tracer Detection Technology Corp. Authentication method and system
JP4073892B2 (ja) * 2004-05-10 2008-04-09 株式会社ソニー・コンピュータエンタテインメント コンテンツ再生装置、コンテンツ再生方法、コンピュータプログラム
US9245266B2 (en) 2004-06-16 2016-01-26 Callahan Cellular L.L.C. Auditable privacy policies in a distributed hierarchical identity management system
US8527752B2 (en) 2004-06-16 2013-09-03 Dormarke Assets Limited Liability Graduated authentication in an identity management system
US8504704B2 (en) 2004-06-16 2013-08-06 Dormarke Assets Limited Liability Company Distributed contact information management
US7165003B2 (en) * 2004-09-22 2007-01-16 Research In Motion Limited Method and system for testing assembled mobile devices
US7117112B2 (en) * 2004-09-22 2006-10-03 Research In Motion Limited Method and system for the interactive testing of assembled wireless communication devices
US7606225B2 (en) * 2006-02-06 2009-10-20 Fortinet, Inc. Integrated security switch
US7735116B1 (en) * 2006-03-24 2010-06-08 Symantec Corporation System and method for unified threat management with a relational rules methodology
US20080148001A1 (en) * 2006-12-14 2008-06-19 Telefonaktiebolaget L M Ericsson (Publ) Virtual Secure On-Chip One Time Programming
US8205095B2 (en) * 2007-11-02 2012-06-19 Nvidia Corporation Method and system for remotely debugging a failed computer machine
US7995196B1 (en) 2008-04-23 2011-08-09 Tracer Detection Technology Corp. Authentication method and system
KR20140105343A (ko) * 2013-02-22 2014-09-01 삼성전자주식회사 디바이스 및 디바이스에서 복수의 모드를 이용한 데이터의 보안 방법
US9215075B1 (en) 2013-03-15 2015-12-15 Poltorak Technologies Llc System and method for secure relayed communications from an implantable medical device
EP2819057B1 (en) * 2013-06-24 2017-08-09 Nxp B.V. Data processing system, method of initializing a data processing system, and computer program product
CN104301543B (zh) * 2014-10-30 2016-12-07 西安酷派软件科技有限公司 信息处理方法、信息处理装置和终端
CN105094853A (zh) * 2015-09-09 2015-11-25 广东小天才科技有限公司 一种检测移动终端的方法及装置
KR101757149B1 (ko) * 2016-11-09 2017-07-12 알서포트 주식회사 권한 부여 기동장치를 이용한 스마트기기 응용프로그램의 자동 시험방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4104721A (en) * 1976-12-30 1978-08-01 International Business Machines Corporation Hierarchical security mechanism for dynamically assigning security levels to object programs
US5014191A (en) * 1988-05-02 1991-05-07 Padgaonkar Ajay J Security for digital signal processor program memory
US5237616A (en) * 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
US6141756A (en) * 1998-04-27 2000-10-31 Motorola, Inc. Apparatus and method of reading a program into a processor
US20020078380A1 (en) * 2000-12-20 2002-06-20 Jyh-Han Lin Method for permitting debugging and testing of software on a mobile communication device in a secure environment
JP2002341956A (ja) 2001-05-21 2002-11-29 Sony Corp 情報処理半導体装置、デバッグ許可鍵装置および情報処理半導体システム
US6466048B1 (en) 2001-05-23 2002-10-15 Mosaid Technologies, Inc. Method and apparatus for switchably selecting an integrated circuit operating mode
WO2004015553A1 (en) * 2002-08-13 2004-02-19 Nokia Corporation Computer architecture for executing a program in a secure of insecure mode

Also Published As

Publication number Publication date
CN1745357A (zh) 2006-03-08
CN100374970C (zh) 2008-03-12
US20040255117A1 (en) 2004-12-16
EP1590722B1 (en) 2008-09-10
JP4417952B2 (ja) 2010-02-17
US7418593B2 (en) 2008-08-26
FI20030156A0 (fi) 2003-02-03
WO2004070586A1 (en) 2004-08-19
ATE408200T1 (de) 2008-09-15
FI20030156A (fi) 2004-08-04
EP1590722A1 (en) 2005-11-02
DE602004016460D1 (de) 2008-10-23
JP2006517313A (ja) 2006-07-20

Similar Documents

Publication Publication Date Title
FI115564B (fi) Menetelmä ja järjestelmä testauksen suorittamiseksi laitteessa ja laite
JP4440983B2 (ja) ワイヤレス環境における安全なアプリケーションの配布及び実行
US8301911B2 (en) Key storage administration
KR100932807B1 (ko) 테스트 인에이블된 애플리케이션 실행
US20100106977A1 (en) Method and Apparatus for Secure Software Platform Access
EP1368718B1 (en) Software-defined communications system execution control
EP1862937A1 (en) Secure processing device and secure processing system
US9344406B2 (en) Information processing device, information processing method, and computer program product
US20150150119A1 (en) Framework for fine-grain access control from high-level application permissions
JP4647392B2 (ja) デバイス制御装置、デバイス制御方法およびプログラム
AU2001257276A1 (en) Software-defined communications system execution control
US20030059049A1 (en) Method and apparatus for secure mobile transaction
JP4978896B2 (ja) 通信端末装置、サーバ端末装置、それらを用いる通信システム
JP4664055B2 (ja) プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法
US7287161B2 (en) Method and system for testing a program, and a device
KR100823631B1 (ko) 키 저장 관리
Gadyatskaya et al. Load time code validation for mobile phone Java Cards

Legal Events

Date Code Title Description
FG Patent granted

Ref document number: 115564

Country of ref document: FI

PC Transfer of assignment of patent

Owner name: NOKIA TECHNOLOGIES OY