!HU000003317T2! (19)
HU
(11) Lajstromszám:
E 003 317
(13)
T2
MAGYAR KÖZTÁRSASÁG Magyar Szabadalmi Hivatal
EURÓPAI SZABADALOM SZÖVEGÉNEK FORDÍTÁSA G06F 1/00
(21) Magyar ügyszám: E 04 004872 (22) A bejelentés napja: 2004. 03. 02. (96) Az európai bejelentés bejelentési száma: EP 20040004872 (97) Az európai bejelentés közzétételi adatai: EP 1469369 A2 2004. 10. 20. (97) Az európai szabadalom megadásának meghirdetési adatai: EP 1469369 B1 2007. 12. 12.
(51) Int. Cl.:
(30) Elsõbbségi adatok: 20030378346 2003. 03. 03.
(73) Jogosult: Microsoft Corporation, Redmond, Washington (US)
US
(72) Feltalálók: Alabraba, Ferdinand Jay, Bellevue, Washington (US); Hughes, Aidan T., Bellevue, Washington (US); Gunyakti, Caglar, Sammamish, Washington (US) (54)
(2006.01)
(74) Képviselõ: Szuhai Elemér, DANUBIA Szabadalmi és Jogi Iroda Kft., Budapest
Eljárás hardverazonosító generálására, és szoftvertermék használatának engedélyezésére másik számítógéprendszerben
(57) Kivonat
HU 003 317 T2
A találmány eljárás hardverazonosító generálására, egy elsõ hardverkonfigurációs számítógéprendszeren,
A leírás terjedelme 18 oldal (ezen belül 7 lap ábra)
amely eljárás során megválasztják a hardverösszetevõ-osztályok n számát, osztályonként azonosítják az
3. ábra
Az európai szabadalom ellen, megadásának az Európai Szabadalmi Közlönyben való meghirdetésétõl számított kilenc hónapon belül, felszólalást lehet benyújtani az Európai Szabadalmi Hivatalnál. (Európai Szabadalmi Egyezmény 99. cikk (1)) A fordítást a szabadalmas az 1995. évi XXXIII. törvény 84/H. §-a szerint nyújtotta be. A fordítás tartalmi helyességét a Magyar Szabadalmi Hivatal nem vizsgálta.
1
HU 003 317 T2
2
osztályba tartozó hardverösszetevõket, az egyes összetevõk azonosítóiból hash-eredményeket generálnak, és legalább egy hash-eredményt generálnak az n számú összetevõosztályokról is, majd a hash-eredményeket összefûzve az elsõ hardverkonfigurációra jellemzõ hardverazonosítót képeznek, ahol a találmány szerint mindegyik hardverösszetevõhöz egy-egy azonosító stringet rendelnek, mindegyik azonosító stringet kiegészítik egy, az azonos hardverhez képezhetõ további verbose VHWID hardverazonosító megkülönböztetésére alkalmas értékkel, és elvégeznek egy-egy hash-mûveletet az értékkel kiegészített azonosító stringeken, amely mûveletek eredménye egy VHWID hardverazonosító hash-szektora. A találmány másrészt eljárás szoftvertermék használatának engedélyezésére másik számítógéprendszerben, amely másik számítógéprendszer azonos
vagy az elsõtõl különbözõ hardverkonfigurációjú, amely eljárásban a találmány szerinti VHWID hardverazonosítót generálnak a másik számítógéprendszerben, a második számítógéprendszerben generált VHWID hardverazonosítót összehasonlítják az elsõ számítógéprendszerben generált VHWID hardverazonosítóval, ha van egyezés az elsõ és második hardverkonfiguráció szerinti hardverösszetevõ-osztályokban, és az egyezõ osztályok száma m, vagy annál több, betöltik a szoftverterméket a második számítógéprendszerbe, ha az egyezések száma kisebb, mint m, akkor megakadályozzák a szoftvertermék betöltését a második számítógéprendszerben. A találmány továbbá az eljárások foganatosítására alkalmas számítógéprendszer és számítógéppel olvasható eszköz, amelyen számítógéppel végrehajtható instrukciók vannak tárolva.
A találmány tárgya rendszer és eljárás VHWID (verbose=bõbeszédû) hardverazonosító generálására egy adott számítógéprendszeren, és szoftvertermék használatának engedélyezésére másik számítógéprendszeren. A VHWID (bõbeszédû) hardverazonosító alkalmas egy szoftvertermék használatának korlátozására attól függõen, hogy milyen mértékben változott meg a szoftvertfuttató számítógép-konfiguráció.
A találmány rövid ismertetése A találmány lényege a leíráshoz fûzött független igénypontokban van definiálva. A találmány elõnyös kialakításait az aligénypontok tartalmazzák. A találmány megoldást nyújt néhány fenti problémára, és javítja egy számítógéprendszer hardverkonfigurációjának azonosítási lehetõségét. A találmány szerinti hardverazonosítási eljárás lehetõséget nyújt a kalózkodás és a licencián túlterjedõ illegális használat minimalizálására, miközben a legitim szoftverhasználó számára lehetõvé tesz egy idõközben korszerûsített berendezésen történõ szoftverhasználatot. A találmány szerinti hardverazonosító egy VHWID „bõbeszédû” hardverazonosító (VHWID=verbose hardware identification), amely azonosítja a számítógéprendszer hardverkonfigurációjának hardverelemeit, jellegük szerint osztályokba sorolva ezeket, és ehhez (1) meghatározott n számú hardverösszetevõ-osztályt tartalmaz, amelyekbe (2) besorolja az adott konfiguráció hardver elemeit. Az így képzett VHWID hardverazonosító jövõbeni használatra eltárolható, és használható például, amikor (i) megnyitjuk a szoftverterméket ugyanazon számítógép hardverkonfigurációján vagy megváltoztatott hardverkonfigurációján, (ii) ha újra telepítjük a szoftverterméket ugyanazon a számítógépen, vagy egy másik számítógépen. Ha például nem elõször nyitjuk meg a szoftverterméket egy számítógépen, képzõdik egy második sVHWID hardverazonosító, amit összehasonlítva az eredeti iVHWID hardverazonosítóval, ha meghatározott m vagy annál nagyobb számú egyezést találunk a hardverösszetevõ-osztályok tartalma között, akkor a szoftver megnyitásának nincs akadálya. Ha viszont a második sVHWID hardverazonosító összetevõosztályai és az eredeti iVHWID hardverazonosító összetevõosztályai között nincs meg az elõírt m számú egyezés, a találmány szerinti eljárásban letiltjuk a szoftvertermék megnyitását azért, mert az eredeti hardverkonfigurációs rendszer egy megengedettnél nagyobb mértékben megváltozott.
25
30 A technika állása Az utóbbi években jelentõs erõfeszítéssel próbálják megakadályozni szoftvertermékek jogellenes, illegális használatát. A szoftvertermékek könnyen reprodukálhatók, terjeszthetõk, így gyakori az engedély nélküli vagy a szoftverlicencia feltételektõl eltérõ telepítés, alkalmazás, ami a szoftverterméket elõállító tulajdonos anyagi érdekeit sérti. Vannak a kalózkodást akadályozó módszerek, eljárások, amelyek számítógépes szoftverek illegális használatát kívánják megakadályozni. Az ilyen módszerek azonban gyakran a szoftver legális használóját is korlátozzák. Ha például egy szoftver legális licenciával rendelkezõ használója frissíti, bõvíti gépének hardverösszetevõit, a szoftver újrainstallálására lehet szükség, ami azonban nehézségekbe ütközhet. A jelenleg használatos módszerek esetleg (i) nem engedik a szoftvertermék újrainstallálását, (ii) az újrainstalláláshoz a használónak fel kell hívnia a szoftver terjesztõjét, és a segítségét kell kérnie. Következésképp a kalózkodás és illegális használat megakadályozására alkalmas eszközöket továbbfejleszteni szükséges, hogy a legitim vásárlóknak és használóknak ne okozzon nehézséget, ne okozzon a licenciának megfelelõ használatban korlátozást. Az EP 0 679 980 A1 szabadalmi leírás szerinti eljárás és berendezés lehetõvé teszi a szoftvertermék próbaüzemét egy számítógépfüggõ azonosító alkalmazásával. Az US 6,148,407 szabadalmi leírás szerinti eljárás és berendezés alkalmas egy számítógéprendszerrõl ujjlenyomatszerû azonosító létrehozására.
35
40
45
50
55
60 2
1
HU 003 317 T2
A jelen találmány tárgya tehát a VHWID hardverazonosító képzésének és alkalmazásának módja, valamint az ehhez szükséges eszközök. A találmány tárgya továbbá a VHWID hardverazonosító alkalmazásával egy szoftvertermék illegális használatának megakadályozása és legális használatának engedélyezése attól függõen, hogy milyen hardverkonfigurációs számítógéprendszeren történne az alkalmazás. A találmány fenti és további jellemzõit a továbbiakban részletesen ismertetjük elõnyös példákra vonatkozó, részletes leírásban és az igénypontokban. A rajzok rövid ismertetése: 1. ábra példakénti számítógéprendszer hardverelemei, és ezek kapcsolata, tömbvázlatban, a 2. ábra példakénti hardverkonfiguráció, amelyben 19 hardvereszköz 8 osztályba van sorolva, a 3. ábra 2. ábrának megfelelõ VHWID hardverazonosító, a 4–6. ábrák egy hardverkonfigurációra VHWID hardverazonosító létesítésének folyamatábrája, a 7. ábra folyamatábra egy szoftvertermék adott hardverkonfiguráción történõ használhatóságának elbírálására alkalmas eljárásban, a hardverkonfiguráció VHWID hardverazonosítójának eredeti VHWID hardverazonosítóval történõ összevetése útján. A találmány részletes ismertetése A jelen találmány elvi alapjai megismerésének elõsegítése érdekében specifikus nyelvet használunk a specifikus kialakítások ismertetésében. Ezzel azonban nem kívánjuk korlátozni a találmány szerinti megoldások általánosabb alkalmazhatóságát. Az alkalmazott elvek változtathatók, tovább módosíthatók, az alkalmazások kiterjeszthetõk az oltalom terjedelmének sérelme nélkül, a szakterületen jártas szakember által. A találmány szerint egy adott számítógéprendszer egyértelmûen jellemezhetõ egy VHWID hardverazonosítóval, és más idõpontban, a számítógéprendszer változatlan vagy módosított hardverkonfigurációja jellemezhetõ egy másik VHWID hardverazonosítóval, amely két VHWID hardverazonosítót összehasonlítunk és egyezõségeit keressük meg. Ennek alapján megállapíthatjuk, hogy egy adott szoftvertermék legálisan használható¹e a módosított hardverkonfigurációval. A VHWID (verbose=bõbeszédû) hardverazonosító generálása egy számítógéprendszer számára, a számítógép hardverkonfigurációjának, a konfigurációt alkotó hardverösszetevõknek azonosításával és osztályokba sorolásával történik. Ilyen osztályok lehetnek például a hard diszk meghajtók, az optikai lemezmeghajtók, a hálózati kártyák, display adapterek, ROM-memóriák, RAM-memóriák, és a BIOS be¹/kimenõ rendszerek. Az alábbiakban bemutatjuk egy példakénti számítógéprendszer hardverkonfigurációját.
5
10
15
20
25
30
35
40
45
50
55
60 3
2
Példakénti operációs környezet Az 1. ábra szerinti számítógépes munkahely (operációs környezet) önmagában ismert, mi a találmány szerinti megoldást ezen ismertetjük. A számítógépes munkahely egy számítógéprendszer, amelynek hardverkonfigurációja általános célú 20 személyi számítógépbõl, és ehhez kapcsolt más hardvereszközökbõl áll. A 20 személyi számítógépnek 21 processzoregysége, 22 rendszer memóriája, és hardverösszetevõket egymással összekötõ 23 rendszer busza van, amely rendszerbusz különbözõ felépítésû lehet, így magában foglalhat memóriabuszt, memóriavezérlõt, perifériabuszt és helyi buszt, amelyek felépítésükben a legkülönbözõbbek lehetnek. A 22 rendszermemória tartalmaz 24 ROM-memóriát és 25 RAM-memóriát. Egy 26 BIOS basic input/output rendszer alaprutinokat tartalmaz, amelyek az információk áramlását segítik a 20 személyi számítógépen belül, annak összetevõi között, például a számítógép indításánál. Ezek az alaprutinok a 24 ROM memóriában vannak tárolva. A 20 személyi számítógép továbbá tartalmaz írható, olvasható 27 hard diszk meghajtót, 28 mágneslemezmeghajtót, amelybe 29 mágneslemez helyezhetõ, és onnan kivehetõ, 30 optikai lemezmeghajtót, amely egységek egy-egy interfészen (32 hard diszk meghajtó interfészen, 33 mágneslemez-meghajtó interfészen, 34 optikai lemezmeghajtó interfészen) át vannak a 23 rendszerbuszra csatlakoztatva. Bár a példában 27 hard diszk meghajtó, 28 mágneslemez-meghajtó és 30 optikai lemezmeghajtó szerepel, a számítógép által írható és olvasható információk tárolására más adattároló perifériák is alkalmazhatók a rendszerben, így például kazettás, szalagos adatrögzítõ, csatlakoztatható flashmemória, digitális videolemez, Bernoulli-lemez, RAM¹ok, ROM¹ok stb. egészíthetik ki a számítógépes operációs környezetet. A meghajtók, és a meghajtók számítógép által olvasható médiái nem törlõdõ módon tárolják a számítógép által végrehajtható instrukciókat, adatstruktúrákat, programmodulokat, és más adatokat a 20 személyi számítógép számára. Például egy vagy több fájl van tárolva a 20 személyi számítógép 25 RAMtárolójában vagy a 27 hard diszk meghajtóban. Számos programmodul lehet tárolva a 27 hard diszk meghajtóban, a cserélhetõ 29 mágneslemezen, a 31 optikai meghajtó lemezén, a 24 ROM- vagy a 25 RAM-tárolóban. A programmodulok lehetnek 35 operációs rendszer moduljai és 36 alkalmazásprogram moduljai, más 37 programmodulok és 38 programadatok. A programmodulok lehetnek többek között rutinok, szubrutinok, programok, objektumok, komponensek, adatstruktúrák stb., amelyek meghatározott feladatokat hajtanak végre vagy absztrakt adattípusok eszközei. A jelen találmány szerinti szempontok beépíthetõk egy 36 alkalmazásprogram-modulba annak integráns részeként vagy beépíthetõk más 37 programmodulokba is. A számítógéprendszer használója 40 billentyûzet és 42 egér segítségével is rendszeresen betáplál instrukciókat a használat során. További lehetséges információ beviteli eszközök például egy mikrofon, joystick, game
1
HU 003 317 T2
pad, mûholdvevõ, szkenner stb. Ezek az eszközök rendszerint a 20 személyi számítógép 46 soros interfészére vannak csatlakoztatva, azon át a 23 rendszerbuszra jut a bevitt információ. Ezek az eszközök számítógép más csatlakozófelületére is kapcsolhatók, mint amilyen egy USB (univerzális soros busz), párhuzamos port, game port stb. Egy 47 monitor vagy más kijelzõeszköz a 23 rendszerbuszra 48 videoadapteren vagy más interfészen át van csatlakoztatva. A számítógépes munkahely jellemzõen nyomtatót, hangfalat és más periferiális eszközt is tartalmaz, ezeket nem ábrázoltuk. A 20 személyi számítógép hálózatban is mûködhet, amely hálózatban logikai kapcsolat van egy vagy több 49 távoli számítógéppel. A 49 távoli számítógép lehet másik személyi számítógép, szerver, kliens, router, PC¹hálózat, peer eszköz, vagy más, közös hálózati csomópont. A 49 távoli számítógép rendelkezhet mindazon egységekkel, amelyeket a 20 személyi számítógéppel kapcsolatban ismertettünk, az 1. ábrán csak a számítógép 50 tárolómemóriáját tüntettük fel. Az 1. ábra szerinti logikai hálózatot egy 51 helyi hálózat (LAN) és egy 52 széles sávú hálózat (WAN) alkotja. Az ilyen hálózatok irodákban, cégen belüli számítógépes hálózatként, intranetként és internetként széles körû alkalmazást nyertek. LAN 51 helyi hálózati környezetben a 20 személyi számítógép 53 hálózatinterfészen vagy adapteren át van kapcsolatban más hálózati egységekkel. A WAN 52 széles sávú hálózatra, például az internetre a 20 személyi számítógép 54 MODEM¹en át van felcsatlakoztatva. Az 54 MODEM lehet belsõ vagy külsõ eszköz, amely 46 soros interfészen át van kapcsolatban a belsõ 23 rendszerbusszal. Hálózatos környezetben egyes programmodulok a távoli számítógép 50 tárolómemóriájában is tárolhatók. Itt megjegyezzük, hogy a bemutatott hálózati elrendezés csak példa, az eszközök közötti kommunikáció másképp is megoldható. Szakember számára nem igényel magyarázatot az, hogy a találmány megvalósítható a személyi számítógépen kívül más számítástechnikát alkalmazó eszközön is, így hordozható eszközökön, többprocesszoros rendszerekben, mikroprocesszorral vezérelt, programozható elektronikus háztartási eszközökben, PDA-ban stb. is. A találmány szerinti eszköz alkalmazható hálózaton át, távoli processzoregységekkel megvalósított mûveletekben is. Elosztott hálózati rendszerben a programmodulok lehetnek mindkét összekapcsolt helyen telepítve, tehát a helyi és távoli tároló memóriaeszközökben is. A találmány alkalmazása, példakénti megvalósításban Amint már ismertettük, a számítógéprendszer jellemzõen több, különbözõ hardverösszetevõ-osztályba tartozó hardveregységekbõl áll. Egy-egy osztályba tartozó hardveregységbõl több is lehet egy számítógéprendszerben (például két hard diszk vezérlõ). A találmány szerinti VHWID hardverazonosító számba vesz minden egyes hardveregységet (hardvereszközt, hardverösszetevõt), ezeket osztályokba sorolva. A VHWID hardverazonosítóban az is számít, ha egy hardverösszetevõ-osztályban nincs ide sorolt esz-
2
köz. A hardverösszetevõ-osztályok számának és jellegének megválasztása az alkalmazandó VHWID hardverazonosító formulában ugyanis történhet elõre, a konkrét hardverkonfiguráció ismerete nélkül, amely 5 esetben a VHWID hardverazonosító formulát egy konkrét hardverkonfigurációra alkalmazva, lehet a formulában olyan osztály, amelynek megfelelõ eszközt nem tartalmaz a vizsgált hardverkonfiguráció, amely konfigurációra a formula szerint felállítjuk a rá jellemzõ 10 VHWID hardverazonosítót. Az alábbiakban példát ismertetünk egy VHWID hardverazonosító formátumának kialakítására, a formátum megtöltésére egy hardverkonfiguráció adataival, és a VHWID hardverazonosító alkalmazására. 15 I. VHWID hardverazonosító generálása A. VHWID hardverazonosító formátumának generálása Egy számítógéprendszer azonosítására alkalmas 20 VHWID hardverazonosító jellemzõen az alábbi összetevõket tartalmazza: (1) fejszektor, (2) számszektor, (3) hash-szektor. Mindhárom szektor az azonosított számítógépes rendszer hardverkonfigurációjára jellemzõ adatokból van származtatva. Egy, példaként adott 25 hardverkonfigurációra jellemzõ VHWID hardverazonosítóban figyelembe vett hardverösszetevõk, osztályonként csoportosítva, a 2. ábrán vannak feltüntetve. A 2. ábra szerinti 20 személyi számítógép hardverkonfigurációjának 19 darab 200 hardverösszetevõje a 30 jellege szerint nyolc különbözõ 21–28 osztályba van sorolva. A CDROM 21 (1. ábra) osztályában (2. ábra) négy hardveregység (hardverösszetevõ) található. Az IDE 22 osztályban két hardverösszetevõ, a drive 23 osztályában egy összetevõ, a display 24 osztályban 35 egy összetevõ, a scsi 25 osztályban két hardverösszetevõ, a diszkek 26 osztályában hat hardverösszetevõ, a hálózati kártya 27 osztályában egy összetevõ, a CPU 26 osztályában két hardverösszetevõ van. A 2. ábra szerinti 29 sorban az összetevõk darabszámai vannak 40 feltüntetve, osztályonként. Meg kell jegyeznünk, hogy egy adott osztályba tartozó hardverösszetevõk száma nulla is lehet, egyébként annyi, amennyi összetevõ ténylegesen található a konfigurációban, bár a lehetséges darabszám korlátoz45 ható is. Jellemzõen egy adott hardverkonfiguráció nulla és hat közötti összetevõt tartalmaz egy-egy osztályban. Az is hasznosítható információ, ha egy osztály üres (nulla darabszámot mutat), ez is része a VHWID hardverazonosítóba foglalt információnak. Egy példakénti 34 VHWID (verbose hardware iden50 tification) hardverazonosító felépítését a 2. ábra szerinti számítógép hardverkonfigurációra alkalmazva, a 3. ábrán szemléltetjük, egyrészt logikai ábrában, másrészt a szektorait egy stringbe összefûzve. A 3. ábra 55 szerinti formula csak egy lehetséges alakja a VHWID hardverazonosítóknak. Amint elõbb már említettük, a 34 VHWID hardverazonosító fõ részei a 31 fejszektor, a 32 számszektor és a 33 hash-szektor. A 31 fejszektor egy 310 verzióazonosítóból és egy megcsonkított 60 312 numerikus törzsbõl áll. 4
1
HU 003 317 T2
A 31 fejrész 310 verzióazonosító része jelöli, hogy egy adott számítógéprendszerrõl különbözõ idõpontokban készült 34 VHWID hardverazonosítók közül ez melyik, illetve milyen módon készült. Egy elsõ verziótól például különbözhet egy második verzió, ha a második verziójú VHWID hardverazonosítóban más paramétereket veszünk figyelembe, mint az elsõben. Azonosításra számos, különbözõ paraméterkészlet alkalmazható. Ilyen paraméterkészletek többek között (1) a 34 VHWID hardverazonosító 31 fejszektorában megjelenítendõ hardverazonosító osztályok száma, (2) az egyes komponensek azonosító stringjein végzett mûvelet csonkítás¹e vagy hash-mûvelet, vagy valami más átalakítás, (3) a VHWID hardverazonosító képzésében felhasználható osztályok számának maximuma és/vagy minimuma, (4) egy adott osztályba sorolható hardverösszetevõk minimuma és/vagy maximuma, (5) a hash-mûvelet képlete, amellyel hash¹á alakítjuk az egyedi hardverazonosító stringeket, (6) a hash-eredmények megengedett hossza a 34 VHWID hardverazonosítóban, (7) A 34 VHWID hardverazonosító megengedett összhosszának maximuma és/vagy minimuma. Van néhány olyan osztály, amelybe nem tartozhat egynél több hardverösszetevõ. Ilyen osztály például a teljes rendszer RAM osztálya. Az egyösszetevõs osztály adatát szükség szerint hash-mûveletnek vetjük alá, vagy csonkoljuk, így tároljuk a 31 fejszektor 312 numerikus törzs részében. Elõnyös, ha a 34 VHWID hardverazonosító 31 fejszektorának rögzített hossza van, amely mindegyik azonos verziójú VHWID hardverazonosítóban (például 1VHWID-kben) egyforma. A 34 VHWID hardverazonosító 31 fejszektorának rögzített hossza lehet például 10 vagy 24 byte, amely byte-okon osztozik a 310 verzióazonosító és a 312 numerikus törzs. A 34 VHWID hardverazonosító 32 számszektora számokból áll, amely számok a különbözõ osztályokba sorolt hardveregységek darabszámainak felelnek meg. Ezek a számok a 3. ábra szerinti hardverkonfigurációban a 21–28 osztályok sorrendjében 4, 2, 1, 1, 2, 6, 1, 2. Ha egy osztályba nincs odasorolt hardverösszetevõ, akkor itt a számérték nulla, azaz 0. A fent leírtakhoz hasonlóan a 32 számszektorban is célszerû fix string-hosszot választani, amely hossz mindegyik azonos verziószámú 34 VHWID hardverazonosítóban egyforma. A 32 számszektor hossza n, azaz n számú osztályt foglal magában az adott verziószámú 34 VHWID hardverazonosító. Jellemzõen a 34 VHWID hardverazonosító 32 számszektor hossza n=6–16 karakter. A 3. ábra szerinti 33 hash-szektor egyetlen stringgé összefûzött hash-eredmények sora, amely tartalmazza a 21–28 osztályok mind a 19 hardverkomponense (2. ábra) azonosítójának hash-eredményét. Minden egyes hash-eredmény hossza például 160 bit lehet, de elõnyös, ha csak 10–20 bit, célszerûen 16 bit hosszú. A példában a 33 hash-szektor összhossza 304 bit (19×16=304 bit). A 34 VHWID hardverazonosító 33 hash-szektorának hossza függ az adott hardverkonfigurációtól, azaz
5
10
15
20
25
30
35
40
45
2
az n számú osztályba sorolt hardverösszetevõk számától. A 33 hash-szektor összhossza egyenlõ a hasheredmények hosszának és a hardverösszetevõk számának szorzatával. A 3. ábra alsó részén a 34 VHWID hardverazonosító egyetlen stringgé összefûzött 21 fejszektorral, 32 számszektorral és 33 hash-szektorral van ábrázolva. Egy konkrét 34 VHWID hardverazonosító megalkotásának folyamatát az alábbiakban ismertetjük. Megjegyezzük, hogy egy VHWID hardverazonosító lehet akár egyrészes is, például alkothatja csak a 33 hash-szektor. Ilyen esetben tehát nem volna 31 fejszektor és 32 számszektor a VHWID hardverazonosítóban. Egy másik lehetséges megvalósításban a VHWID hardverazonosítót egy 32 számszektor és egy 33 hashszektor alkothatja. További lehetõség a VHWID hardverazonosító formátumára, hogy csak 31 fejszektora és 33 hash-szektora van, amely 33 hash-szektorból kivehetõk a 32 számszektor adatai is. B. VHWID hardverazonosító generálása Egy számítógéprendszer azonosítására alkalmas VHWID hardverazonosító generálásának egy példakénti folyamatát mutatjuk be a 4–6. ábrák alapján, amely ábrák egy folyamatábrát alkotnak. Az azonosító generálása történhet egy adott szoftvertermékben rejlõ, meghatározott kóddal történõ kezdeményezésre egy 20 személyi számítógépen (1. ábra), amelynek hardverkonfigurációját jelöljük HW1¹el, Az eljárás elsõ 401 lépésében meghatározzuk a hardverösszetevõ-osztályok n számát, amely n osztály valamelyikébe a hardverkonfiguráció minden hardveralkotója besorolható. Ilyen osztályok lehetnek például: lemezmeghajtók, hard diszk meghajtó, logikai lemez partíciók, optikai lemezmeghajtók, hálózati kártyák, monitormeghajtók, csak olvasható (ROM) tárolók, véletlen hozzáférésû (RAM) tárolók, IDE eszközök, hangkártyák, videokártyák, processzorok, SCSI eszközök és rendszer BIOS osztályai. Az osztályok száma elõnyösen 2 és 16 között határozható meg. Elõnyös, ha a konfiguráció elemeihez nagyobb n számú osztályt határozunk meg, mert így pontosabb lehet az azonosítás, és pontosabban kimutathatók eltérések egy adott számítógéprendszeren belül. Miután a 401 lépésben (4. ábra) megválasztottuk, hogy hány osztályt (n) tartalmazzon a VHWID hardverazonosító, egy következõ 402 lépésben meghatározzuk az egyes osztályok jellegét (például lemezmeghajtók). Az 1. táblázatban példát mutatunk be a HW1 hardverkonfiguráció hardverösszetevõ-osztályainak meghatározására.
50 1. táblázat
55
60 5
Hardverösszetevõosztály
Osztály jellege
Osztályazonosítók
1.
CdRom
CdRom egység azonosító
2.
IDE eszközök
IDE eszköz azonosítója
1
HU 003 317 T2
1. táblázat (folytatás) Hardverösszetevõosztály
Osztály jellege
Osztályazonosítók
5
3.
hard diszk meghajtó
lemezpartíció sorszáma
4.
display adaptereszköz
azonosító
5.
SCSI eszközök
SCSI eszköz azonosító
6.
diszk eszközök
diszk eszköz azonosító
7.
hálózati kártya
MAC cím
8.
processzorok
processzoreszköz azonosító
10
Amint az az 1. táblázatból látható, n=8, és a konfiguráció hardverösszetevõi az alábbi osztályokba sorolhatók: (1) CdRom, (2) IDE eszközök, (3) hard diszk meghajtó, (4) display adaptereszköz, (5) SCSI eszközök, (6) diszk eszközök, (7) hálózati kártya, (8) CPU processzorok osztálya. Miután a 402 lépésben mindegyik osztály jellegét és ezen belül mindegyik hardverkomponens azonosítóját meghatároztuk, egy 403 lépésben a hardverösszetevõket besoroljuk az osztályokba, és meghatározzuk hogy egy-egy osztályba hány hardverösszetevõt soroltunk be. Egy 404 lépésben az egyes összetevõk azonosítójaként olyan azonosító stringet választunk, amely lehetõleg egyedi, megkülönböztetésre a leginkább alkalmas. Például ha a CdROM egy NEC Corporation gyártmány, akkor az azonosító stringje lehet „NEC CDRW24 S15”. Az azonosító string tetszõlegesen választható meg, a követelmény az, hogy egyedi, megkülönböztetõ jellemzõ legyen. Ha már mindegyik hardverkomponenshez rendeltünk egy-egy azonosító stringet, egy 405 lépésben elkészítjük a VHWID hardverazonosító fejszektorát. Ezen belül egy 406 lépésben a fejszektor verzióazonosító részébe bevisszük a VHWID hardver verziójának azonosítóját, amely egy vagy több olyan paraméterre utal, amely meghatározó része a VHWID hardverazonosítónak. Egy következõ, 407 lépésben (5. ábra) megjelenítünk a fejszektorban egy reprezentáns hardverösszetevõ-osztályt. Az ilyen reprezentáns osztályok rendszerint egyösszetevõs osztályok. E célra alkalmas osztályok például a memóriakomponens-osztályok, dokkolhatóságot biztosító eszköz osztálya, BIOS rendszer osztálya vagy ezek kombinációja. Egy alkalmazási példában a találmány szerinti VHWID hardverazonosító fejszektorában a hardverkonfiguráció egyik egyösszetevõs osztályát tüntetjük fel. A következõ 409 lépésben eldöntjük, hogy a fejszektorban megjelenítendõ osztály azonosító stringjét milyen formában jelenítjük meg, azaz alávetjük¹e hashmûveletnek. Az azonosító string lehet hash-funkciónak alávetett szó (411 lépés), és/vagy meghatározott bitszá-
15
20
25
30
35
40
45
50
55
60 6
2
mú stringre csonkított azonosító string (412 lépés). Ha a 411 lépésben hash-mûveletet hajtottunk végre a fejszektorban megjelenítendõ osztály azonosító stringjén, a hash-eredményt a következõ 412 lépésben beírjuk a 31 fejszektor 312 numerikus törzs részébe (3. ábra). Célszerûen a 411 lépésben a hash-eredményt is megcsonkítjuk 16 bit hosszúságúra. Ha az azonosító stringen nem végzünk hash-mûveletet, a megcsonkított azonosítót a 410 lépésben írjuk be a 31 fejszektor 312 numerikus törzs részébe. Célszerûen az azonosítót kisebb, mint 16 bites hosszúra csonkítjuk. Egy következõ 413 lépésben eldöntjük, hogy adunk¹e további komponenst (osztályt) a 31 fejszektor 312 numerikus törzs részéhez. Ha igen, az eljárás 407–413 lépéseit megismételjük a hozzáadandó osztály vonatkozásában. Ha a 31 fejszektort már nem kívánjuk kiegészíteni, az eljárás a 414 lépéssel folytatódik. A 414 lépésben (6. ábra) elkészítjük a VHWID hardverazonosító 32 számszektorát. A 32 számszektor tartalmazza osztályonként az osztályokba sorolt hardverelemek darabszámát, azaz a 32 számszektor n számadatot tartalmaz (3. ábra). Egy következõ 415 lépésben a VHWID hardverazonosító 32 számszektora szerinti mindegyik hardverösszetevõn hash-mûveletet végzünk. Egy alternatív megoldásban nem végzünk hash-mûveletet az olyan osztályban, amely nem tartalmaz hardverösszetevõt, az osztályt képviselõ 0 azt jelenti, hogy ez az osztály üres. Mindegyik hash-eredmény csonkolható meghatározott bitszámú hosszra. Elõnyösen az egyes hasheredményeket 10–20 bit hosszúra, célszerûen 16 bit hosszúra csonkoljuk. A hash-mûveletek történhetnek számos különbözõ függvény szerint, feltétel csak az, hogy a hash-mûveletek értékelhetõ eredménye ne legyen hosszabb 160 bitnél. Alkalmazható hash-függvény például a HAVAL algoritmus, az MD2, MD4, MD5, és SHA–1-algoritmusok, amelyek a szakterületen jártas szakemberek elõtt ismertek. További alkalmazható hash-függvények is le vannak írva Bruce Schneider: „Applied Cryptography” mûvében kiadója: Wiley & Sons (ISBN #0471117099), amelyre referenciaként hivatkozunk. A találmány egy elõnyös változatában „salt érték” adható a hardverösszetevõ azonosítóhoz, mielõtt végrehajtjuk rajta a hash-mûveletet. Ennek eredményeképp különbözõ VHWID hardverazonosítókat nyerhetünk ugyanazon hardverkonfigurációról. Ez akkor lehet elõnyös, ha a hardverkonfiguráción különbözõ alkalmazásokat futtatunk. Az alábbiakban ismertetünk erre egy példát. Ha például több, azonos szolgáltatótól származó szoftvertermék van aktiválva a gépen, a VHWID hardverazonosító használható arra, hogy különválasszuk az aktivációs rekordokat, így a szoftverhasználó vásárlási szokásairól képet kaphatunk. Ez ellen úgy lehet védekezni, hogy a gép hardverkonfigurációjáról többféle kódolással készítünk VHWID hardverazonosítót, amely VHWID hardverazonosítók egymástól függetlennek látszanak, mert mindegyiknek más-más a felépítése. A hash-funkció például a következõképpen néz ki:
1
HU 003 317 T2
hashx=MD5[(salt érték)x+ID string], ahol a salt érték különbözõ mindegyik szoftvercsomag esetében. Egy 416 lépésben a hash-eredményeket összefûzzük 33 számszektorban, a VHWID 32 számszektorának megfelelõ rendben, és egy 417 lépésben összeállítjuk a 34 VHWID hardverazonosítót a 31 fejszektor, a 32 számszektor és a 33 hash-szektor stringjeinek összefûzésével. Végül egy 418 lépésben a HW1 hardverkonfigurációról eredményül kapott egy vagy több VHWID hardverazonosítót eltároljuk jövõbeni felhasználás céljára. A HW1 hardverkonfiguráció VHWID hardverazonosítóját tárolhatjuk helyileg (a registry-ben vagy más biztos helyen), vagy egy elérhetõ, távoli tárhelyen (például adatbázisban), vagy a licenciaközvetítõ klíringház szerverén. Amint már említettük, a HW1 hardverkonfiguráció VHWID hardverazonosítója lehet a fent leírtaknál egyszerûbb felépítésû is, így állhat (i) csak a 33 hashszektorból, vagy (ii) a 32 számszektorral összefûzött 33 hash-szektorból. II. A VHWID (verbose-bõbeszédû) hardverazonosító felhasználása szoftvertermék használatának engedélyezésére egy adott számítógéprendszerben A találmány kiterjed a fent ismertetett VHWID hardverazonosító alkalmazására egy adott szoftver használatának engedélyezési eljárásában, egy, a VHWID hardverazonosítóval azonosított hardverkonfigurációjú számítógéprendszeren. Az engedélyezési eljárás kezdeményezõdik: (i) egy szoftvertermék eredeti telepítése után, ha azt a számítógépen ismét telepíteni kívánják, (ii) a szoftvertermék megnyitásakor, alkalmazásakor más számítógépen, mint ahol eredetileg telepítve volt, (iii) ha mindkét fenti feltétel teljesül. A 7. ábrán az engedélyezési eljárás egy példakénti megvalósításának folyamatábrája van feltüntetve. Az eljárás lépéseit egy szoftverkód vezérelheti, amely a használó számítógépén telepített szoftvertermék része. A használó számítógépe például az 1. ábra szerinti 20 személyi számítógép. A 7. ábra szerinti elsõ 501 lépésben megtörténik a szoftver indítása vagy betöltése a HW2 hardverkonfigurációjú számítógépen. A HW2 konfiguráció azonos lehet a HW1 konfigurációval, amelyen a szoftver eredetileg telepítve lett az eredeti iVHWID hardverazonosító képzése mellett, de lehet egy teljesen különbözõ számítógép is. A következõ, 502 lépésben egy új nVHWID hardverazonosítót képezünk a HW2 konfigurációjú számítógépen, a 4–6. ábrák kapcsán leírt módon. Ezt követõ 503 lépésben megnyitjuk a korábban, HW1 hardverkonfiguráció mellett készült iVHWID hardverazonosítót, amely rendszerint a szoftvertermék eredeti telepítésekor készült, eredeti hardverazonosító, majd ezt egy 505 lépésben összehasonlítjuk az új nVHWID hardverazonosítóval. Az összehasonlítás során egyezéseket keresünk osztályonként. Ha az osztályonként egyezõ komponensek száma nagyobb vagy egyenlõ egy meghatározott m számmal, akkor a szoftver használata automatikusan engedélyezett (506 lé-
5
10
15
20
25
30
35
40
45
50
55
60 7
2
pés). Ha az egyezések száma nem éri el az m számot, akkor a szoftver használata letiltódik a HW2 számítógép konfiguráción (507 lépés). Az 504 lépésben többféle, egynél több szabály is alkalmazható az egyezések számának meghatározására a HW2 hardverkonfiguráció nVHWID hardverazonosítója és a HW1 hardverkonfiguráció iVHWID hardverazonosítója összehasonlítása során, annak meghatározására, hogy egy adott osztályban van¹e egyezés. Ilyen szabályok többek között az alábbiak: (i) a HW2 hardverkonfiguráció nVHWID hardverazonosítójában mindegyik, a hardverösszetevõ-osztályra jellemzõ hash-eredményt összehasonlítunk a HW1 hardverkonfiguráció iVHWID hardverazonosítójának megfelelõ osztályra jellemzõ hash-eredményeivel; (ii) akkor van egyezés a HW2 hardverkonfiguráció nVHWID hardverazonosítója egy osztálya és a HW1 hardverkonfiguráció iVHWID hardverazonosítójának megfelelõ osztálya között, ha az új nVHWID hardverazonosító megfelelõ osztályában bármely hasheredmény egyezik a HW1 hardverkonfiguráció iVHWID hardverazonosítójának megfelelõ osztálya bármely hash-eredményével; (iii) egy egyezés van a HW2 hardverkonfiguráció nVHWID hardverazonosítója egy osztálya és a HW1 hardverkonfiguráció iVHWID hardverazonosítójának megfelelõ osztálya között, ha az új nVHWID hardverazonosító megfelelõ osztályában kettõ vagy több hardverkomponensre vonatkozó hash-eredmény egyezik a HW1 hardverkonfiguráció iVHWID hardverazonosítójának megfelelõ osztálya kettõ vagy több hardverkomponensre vonatkozó hash-eredményével; (iv) nincs egyezés a HW2 hardverkonfiguráció nVHWID hardverazonosítója egy osztálya és a HW1 hardverkonfiguráció iVHWID hardverazonosítójának megfelelõ osztálya között, ha a HW2 hardverkonfiguráció nVHWID hardverazonosítójának osztálya nem tartalmaz hardverösszetevõt, miközben a HW1 hardverkonfiguráció iVHWID hardverazonosítójának osztálya tartalmaz hardverösszetevõt; (v) nincs egyezés a HW2 hardverkonfiguráció nVHWID hardverazonosítója egy osztálya és a HW1 hardverkonfiguráció iVHWID hardverazonosítójának megfelelõ osztálya között, ha a HW2 hardverkonfiguráció nVHWID hardverazonosítójának osztálya tartalmaz hardverösszetevõt, miközben a HW1 hardverkonfiguráció iVHWID hardverazonosítójának osztálya nem tartalmaz hardverösszetevõt; (vi) a HW1 és HW2 hardverkonfigurációk összehasonlításában az egyezéseknek megkívánt, elõre meghatározott m száma van, amely be lehet ágyazva a szoftvertermék kódjába. Az egyezõ hardverkomponens-osztályok megkívánt m számát attól függõen határozzuk meg, hogy mekkora toleranciát engedünk meg a hardverkonfiguráció változtatásában. Az egyezõ osztályok m száma egyenlõ is lehet az összes osztály n számával. Az egyeztetésben figyelembe veendõ osztályok száma másrészt 1 is lehet. Az m értékének növelésével együtt jár a hardverkonfiguráció változtatásában megengedett
1
HU 003 317 T2
tolerancia szûkülése. Ha például a hardverösszetevõosztályok száma n=10, és m=7, a 10 lehetségesbõl legalább hét osztály hardverösszetevõnek egyeznie kell ahhoz, hogy a szoftvertermék használata engedélyezésre kerüljön. Ha az egyezõ osztályok száma kisebb, mint hét, a szoftvertermék nem fog futni, nem tölthetõ be vagy nem terjed ki a licencia az adott konfigurációra. Az egyezõ osztályok m száma jellemzõen a szoftvertermék elõállítója által meghatározott és a szoftvertermék kódjába beépített lehet, amely szoftverkódot használják a verbose hardverazonosító (VHWID) létrehozására. Az egyezõ osztályok m száma célszerûen egyenlõ vagy nagyobb, mint (n–3), elõnyösen nagyobb, mint (n–2) de lehet (n–1) is. A 4–7. és 7. ábrán szemléltetett eljárások lefolytathatók helyileg vagy távoli helyszínen. Jellemzõen egy használó olyan szoftverterméket vásárol meg (licenciát vesz), amely futtatható a 20 számítógépén (1. ábra). A szoftvertermék megvásárolható megjelenési formája rendszerint egy CdROM¹on, floppylemezen vagy más számítógép által olvasható médiumon tömörített állományként tárolt szoftver, vagy egy elektronikusan hálózatról letölthetõ állomány, amely LAN 51 helyi hálózaton vagy WAN 52 széles sávú hálózaton át tölthetõ le a 20 számítógépre, ahol egy meghatalmazott harmadik személy, egy aktiválószerv útján aktiválható. A használó a szoftvert a 20 számítógép- 22 rendszer memóriájába tölti be. A szoftver installálása során a használó felszólítást kap a szoftver azonosítókódjának (PID) megadására. A PID leolvasható a terméket tartalmazó CD¹rõl vagy annak borítójáról. A számítógépbe bebillentyûzött PID helyileg a 20 számítógépen, és/vagy távoli, elérhetõ helyen tárolódik, például LAN 51 helyi hálózaton vagy WAN 52 széles sávú hálózaton át elérhetõ harmadik személy, az aktiválószerv adattárában. Amint említettük, az installálás vagy aktiválás során a találmány szerint egy verbose hardverazonosítót (VHWID) is képezünk, a szoftvertermék kódja által kezdeményezetten. Az így képzett verbose hardverazonosítót a szoftver PID kódjával összerendelve tároljuk, helyileg a 20 számítógépen, és/vagy távoli, elérhetõ helyen, például LAN 51 helyi hálózaton vagy WAN 52 széles sávú hálózaton át elérhetõ harmadik személy, az aktiválószerv adattárában. Az installálási folyamatnak része lehet, hogy a szoftver aktiválását kérni kell az aktiválószervtõl. Az aktiválószerv lehet a szoftver készítõje vagy egy meghatalmazott, harmadik személy. Az aktiválási lépés célja, hogy a használót rászorítsa a licencia szerinti szoftverhasználatra, azaz arra, hogy (i) a szoftverterméket egy meghatározott számítógépen installálja és használja, (ii) a szoftverterméket a termékhez kapcsolt licencfeltételekkel használja. Ilyen installálóeljárás van ismertetve az US 6,243,468 szabadalmi leírásban (Microsoft Corporation (Redmond, WA), amely leírást teljes terjedelmében referenciának tekintjük. A találmány szerinti verbose hardverazonosító (VHWID) és a szoftverazonosító (PID) tárolható helyi-
5
10
15
20
25
30
35
40
2
leg a 20 számítógépen, és/vagy távoli, elérhetõ helyen, például LAN 51 helyi hálózaton vagy WAN 52 széles sávú hálózaton át elérhetõ harmadik személy, az aktiválószerv adattárában. Elõnyösen a szoftvertermék (i) tárolja mind a verbose hardverazonosítót (VHWID), mind a szoftverazonosítót (PID) a 20 számítógépen, és (ii) elküldi mindkét azonosítót (VHWID¹t és PID¹et) elektronikusan, LAN 51 helyi hálózaton vagy WAN 52 széles sávú hálózaton át az aktiválószerv szerverére. Általában a szoftvertermék az elsõ elindításakor automatikusan megnyit egy grafikus párbeszédablakot (UI), amely a használót arra szólítja fel, hogy kezdeményezze az aktiválást az aktiválószervnél, és összekapcsolja a számítógépet az aktiválószervvel. Az aktiválószerv szerverén tárolja a szoftvertermékre vonatkozó hardverazonosítókat (VHWID) és a szoftverazonosítókat (PID). A találmány szerinti verbose hardverazonosító (VHWID) és a vele társított szoftverazonosító (PID) határozatlan ideig (a szoftver újrainstallálásáig) tárolható, azaz amíg ugyanazt a szoftverterméket nem installálják újra másik számítógépen, vagy nem töltik be újra ugyanazon számítógépbe, amelyen eredetileg installálták. Amikor ugyanazt a szoftverterméket újrainstallálják másik számítógépen, vagy betöltik újra ugyanabba a számítógépbe, amelyen eredetileg installálták, akkor a szoftver kódja új verbose hardverazonosító (VHWID) képzését kezdeményezi, a találmány szerint. Ekkor a szoftvertermék megnyitja a tárolt, korábbi, a PID kóddal társított verbose hardverazonosítót (VHWID) is, amit a saját 20 számítógéprõl vagy LAN 51 helyi hálózaton vagy WAN 52 széles sávú hálózaton át tölt be, és a fent ismertetett módon lefuttatja az egyezés kereséseket, elvégzi a két verbose hardverazonosító (VHWID) összehasonlítását. Ha a szoftvertermék használatát megtagadó eredményt hoz az összehasonlítás, mert a jelenlegi hardverkonfiguráció eltér az eredeti konfigurációtól, célszerûen egy párbeszédablak jelenik meg a monitorképernyõn, a megtagadás tényével, és olyan információval, hogy milyen módon újítható meg a használati jog a jövõbeni szoftverhasználatra.
III. A verbose hardverazonosító (VHWID) további használati lehetõségei A találmány szerinti verbose hardverazonosító (VHWID) nemcsak a fent ismertetett célra hasznosítható, hanem más célokra is. A verbose hardverazonosító 50 (VHWID) alapján készíthetõ olyan féligegyedi installációs ID is, amellyel leellenõrizhetõ, feltérképezhetõ a számítógép-konfiguráció. A verbose hardverazonosító (VHWID) alkalmazható klíringház szerverében is, licenciák engedélyezésében. A részletes leírásban kimerítõen ismertettük a kivi55 teli példák kapcsán a találmány lényegét, de az oltalmi igény kiterjed azokra a változatokra, variációkra és ekvivalensekre is, amelyeket egy, a szakterületen jártas szakember az itt leírtak ismeretében megvalósítani 60 képes. 45
8
1
HU 003 317 T2
SZABADALMI IGÉNYPONTOK 1. Eljárás hardverazonosító generálására, egy elsõ hardverkonfigurációs számítógéprendszeren, amely eljárás során megválasztjuk a hardverösszetevõ-osztályok n számát (402), osztályonként azonosítjuk az osztályba tartozó hardverösszetevõket (403), az egyes összetevõk azonosítóiból hash-eredményeket generálunk, és legalább egy hash-eredményt generálunk az n számú összetevõosztályokról is (404–415), majd a hash-eredményeket összefûzve az elsõ hardverkonfigurációra jellemzõ hardverazonosítót képezünk, azzal jellemezve, hogy mindegyik hardverösszetevõhöz egy-egy azonosító stringet rendelünk (404), mindegyik azonosító stringet kiegészítjük egy, az azonos hardverhez képezhetõ további verbose hardverazonosító megkülönböztetésére alkalmas értékkel (415), és elvégzünk egy-egy hash-mûveletet (415) az értékkel kiegészített azonosító stringeken, amely mûveletek eredménye egy VHWID hardverazonosító hash-szektora. 2. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy a VHWID hardverazonosítót egy (i) fejszektorból, egy (ii) számszektorból és egy (iii) hash-szektorból állítjuk össze, amely szektorokat sorba összefûzzük. 3. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy a hardverösszetevõ-osztályok n számát célszerûen 16¹ig terjedõ, egész számként választjuk meg. 4. A 2. igénypont szerinti eljárás, azzal jellemezve, hogy a fejszektor összetevõdik a) verziószámból, és b) az alábbiak egyikébõl: (i) egy hardverösszetevõt tartalmazó osztály azonosító stringjén végzett hash-mûveletbõl nyert hash-eredmény, (ii) egy hardverösszetevõt tartalmazó osztály megrövidített azonosító stringje, (iii) egy hardverösszetevõt tartalmazó osztály azonosító stringje. 5. A 4. igénypont szerinti eljárás, azzal jellemezve, hogy a fejszektor a) és b) összetevõje összefûzve alkotják a fejszektort. 6. A 2. igénypont szerinti eljárás, azzal jellemezve, hogy a fejszektor összetevõdik a) verziószámból, és b) az alábbiak egyikébõl: (i) egy hardverösszetevõt tartalmazó osztály azonosító stringjén végzett hash-mûveletbõl nyert hash-eredmény, (ii) egy hardverösszetevõt tartalmazó osztály megrövidített azonosító stringje, (iii) egy hardverösszetevõt tartalmazó osztály azonosító stringje. 7. A 2. igénypont szerinti eljárás, azzal jellemezve, hogy a számszektor n darabszámból összefûzött string, ahol mindegyik darabszám az egyes összetevõosztályokba tartozó hardverösszetevõk száma. 8. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy legalább egy hardverösszetevõ-osztály kettõ vagy több hardverösszetevõt tartalmaz.
5
10
15
20
25
30
35
40
45
50
55
60 9
2
9. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy a hardverösszetevõ-osztályok nulla és tizennégy közötti számú hardverösszetevõt tartalmaznak. 10. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy mindegyik hash-eredmény 16 bites számmá van csonkolva. 11. A 4. igénypont szerinti eljárás, azzal jellemezve, hogy mindegyik hash-eredmény 16 bites számmá van csonkolva. 12. Az 1. igénypont szerinti eljárás, azzal jellemezve, hogy az eljárás kezdeményezése a szoftvertermék elsõ számítógéprendszerbe történõ betöltése lépésében történik. 13. Eljárás szoftvertermék használatának engedélyezésére másik számítógéprendszerben, amely másik számítógéprendszer azonos vagy az elsõtõl különbözõ hardverkonfigurációjú, azzal jellemezve, hogy az 1–12. igénypontok bármelyike szerinti VHWID hardverazonosítót generálunk a másik számítógéprendszerben (502), a második számítógéprendszerben generált VHWID hardverazonosítót összehasonlítjuk az elsõ számítógéprendszerben 1–12. igénypontok bármelyike szerint generált VHWID hardverazonosítóval (504), ha van egyezés az elsõ és második hardverkonfiguráció szerinti hardverösszetevõ-osztályokban, és az egyezõ osztályok száma m, vagy annál több, betöltjük a szoftverterméket a második számítógéprendszerbe (506), ha az egyezések száma kisebb, mint m, akkor megakadályozzuk a szoftvertermék betöltését a második számítógéprendszerben. 14. A 13. igénypont szerinti eljárás, azzal jellemezve, hogy az elsõ hardverkonfiguráció egy hardverösszetevõ-osztálya és egy másik hardverkonfiguráció megfelelõ hardverösszetevõ-osztálya közötti egyezésnek tekintjük, ha a második hardverkonfiguráció adott osztálybeli hardver összetevõjének hash-eredménye egyezik az elsõ hardverkonfiguráció megfelelõ osztálybeli valamelyik hardver összetevõjének hash-eredményével. 15. A 13. igénypont szerinti eljárás, azzal jellemezve, hogy az elsõ hardverkonfiguráció egy hardverösszetevõ-osztálya és egy másik hardverkonfiguráció megfelelõ hardverösszetevõ-osztálya közötti egyezésnek tekintjük, ha a második hardverkonfiguráció adott osztálybeli kettõ vagy több hardver összetevõjének hash-eredménye egyezik az elsõ hardverkonfiguráció megfelelõ osztálybeli kettõ vagy több hardver összetevõjének hash-eredményével. 16. A 13. igénypont szerinti eljárás, azzal jellemezve, hogy az elsõ hardverkonfiguráció egy hardverösszetevõ-osztálya és egy másik hardverkonfiguráció megfelelõ hardverösszetevõ-osztálya közötti egyezés hiányának tekintjük, (i) ha az elsõ hardverkonfiguráció egy hardverösszetevõ-osztálya nem tartalmaz hardverösszetevõt, és a másik hardverkonfiguráció megfelelõ osztálya tartalmaz hardverösszetevõt, (ii) ha ha az elsõ hardverkonfiguráció egy hardverösszetevõ-osztálya tartalmaz hardverösszetevõt, és a másik hardverkonfi-
1
HU 003 317 T2
guráció megfelelõ osztálya nem tartalmaz hardverösszetevõt. 17. A 13. igénypont szerinti eljárás, azzal jellemezve, hogy m egyenlõ (n–3). 18. Számítógéprendszer, legalább egy alkalmazásmodullal, azzal jellemezve, hogy a legalább egy alkalmazásmodul az 1–17. igénypontok bármelyike szerinti
5
10
2
eljárás foganatosítására alkalmas alkalmazáskóddal rendelkezik. 19. Számítógéppel olvasható eszköz, amelyen számítógéppel végrehajtható instrukciók vannak tárolva, azzal jellemezve, hogy az 1–17. igénypontok bármelyike szerinti eljárás foganatosítására alkalmas instrukciókat tartalmaz.
HU 003 317 T2 Int. Cl.: G06F 1/00
11
HU 003 317 T2 Int. Cl.: G06F 1/00
12
HU 003 317 T2 Int. Cl.: G06F 1/00
13
HU 003 317 T2 Int. Cl.: G06F 1/00
14
HU 003 317 T2 Int. Cl.: G06F 1/00
15
HU 003 317 T2 Int. Cl.: G06F 1/00
16
HU 003 317 T2 Int. Cl.: G06F 1/00
17
Kiadja a Magyar Szabadalmi Hivatal, Budapest A kiadásért felel: Törõcsik Zsuzsanna fõosztályvezetõ-helyettes Windor Bt., Budapest