199029. lajstromszámú szabadalom • Áramköri elrendezés személyi számítógépeken futtatható programok jogtalan futtatás elleni védelmére
3 HU 199029 D 4 A találmány szerinti kapcsolási elrendezést a személyi PC számitógép párhuzamos csatlakozójába kell dugaszolni és amennyiben azt párhuzamos illesztésű periféria (pl. nyomtató) csatlakozására is használni kivánjuki a periféria csatlakozó kábelét az áramköri elrendezés párhuzamos csatlakozójába dugaszolhatjuk. A találmány szerinti áramkör igy a PC számítógép és a PB nyomtató közötti párhuzamos cím- és adatsinre van csatlakoztatva úgy, hogy az a PC számitógép és a PR nyomtató eredeti funkcióját nem zavarja, jelenlétét csak a védeni kívánt program veszi észre. A kapcsolat az áramköri elrendezés és a védeni kivánt program között egy bonyolult jelszekvencián keresztül jön létre, melynek detektálására szinte megoldhatatlanul nehéz feladat elé állítja a programot .feltörni' kívánó személyt. A védelem megvalósulásához a védeni kivánt felhasználói programba egy kis assembly rutint kell illeszteni, mely a futás előtt illetve alatt a védelmi kulcs jelenlétét figyeli. A kulcsban a védeni kivánt programot azonosító kódok találhatók, melyeknek sikeres beolvasása után a felhasználó által készített program zavartalanul futhat. Ha a figyelő software nem találja a kulcsot a párhuzamos portban, vagy a beolvasott kód nem felel meg a felhasználói programban definiáltaknak, akkor a program hibaüzenet adása után leáll. A kulcs megvalósításánál elsődlegesen a párhuzamos periféria (pl. nyomtató) és a személyi PC számítógép közötti kommunikációs folytonosságát kell biztosítani. Ezt pufferek és latch-ek alkalmazásával lehet elérni. A kulcs működésének középpontjában egy a védelmi kódot tartalmazó tároló áll, amely a védeni kivánt program működéséhez szükséges kódokat tárolja. A kulcs és a kulcsot működtető software összehangolása érdekében az áramkör úgy van kialakítva, hogy a védelmet megvalósító áramkör tárolójából nem csak olvasni, hanem abba írni is lehet. Ebben az esetben, azaz a fejlesztési stádiumban, a tároló RAM-ként szerepel, míg védelmi alkalmazásban PLA foglalja el a helyét. A tároló írásához, illetve olvasáséhoz szükséges címek és adatok a személyi PC számitógép párhuzamos pontjának adatvezetékein érkeznek. (Ez egy bizonyos port címet jelent a személyi számítógépen belül.) A tároló írása esetén a cím és az adat elválasztásáról a latch gondoskodik. A beíráshoz szükséges vezérlőjel-szekvenciát a controller szolgáltatja. Egy ilyen beirási szekvencia a kővetkezők szerint zajlik le.- adatinformáció kiküldése a párhuzamos port adatvonalaira,- ezen információ reteszelése a latch-ben,- ciminformáció küldése,- vezérlőjelek kiküldése a controller portra (ugyancsak egy bizonyos cím a személyi számítógépen belül), amely a beirási ciklust vezérlő controlleren keresztül jut érvényre. Amint az ábrán látható, a 7 adatsinre három adó kapcsolódik: az 5 latch tároló, a védelmi kódot tartalmazó 6 tároló és a 9 adat puffer. A 6 tároló adatainak olvasása során ezen a sínen érkeznek az információk a személyi PC számítógépbe a párhuzamos port PB nyomtatót vezérlő vonalain keresztül. Ezen kapura érkező vezérlőjelek leválasztására szolgál a puffer. Amikor adatokat olvasunk a hardware védelem tarjából, akkor a 6 tároló a 7 adatsinre dolgozó adó. A többi elem mind nagyimpedanciás állapotban van. Az olvasási ciklus a kővetkező lépésekből áll:- címkiküldés a párhuzamos portra,- a tár kimenetének engedélyezése (a vezérlés a controll porton keresztül a controller segítségével történik)- adatolvasás a controll porton keresztül. A hardware egység után az azt működtető software-t ismertetjük. A hardware védelmi kulcsot kezelő - a felhasználói programhoz hozzászerkesztendó - program feladata a kódok beolvasása, a kódok összevetése a védeni kívánt program kódjaival és egyezés esetén a vezérlés átadása a védett program belépési pontjára. Amint látható, az első két lépést megvalósító kód elrejtése a védeni kívánt programban alapvető jelentőségű. Ez megvalósítható a program-kód kódolásával, melyhez a kódokat a védelmi kulcs szolgáltatja. A védelmi kulcs 256 byte-ot tartalmaz, s igy a program-kód pl. 256 szintű kódolására nyílik lehetőség. A szintek számának meghatározásánál azt kell figyelembe venni, hogy a védelmi mechanizmus feldolgozásához szükséges idő ne legyen túl hosszú. A találmány szerinti áramköri elrendezéssel megvalósítható védelemmel nem csak a programok másolás és jogtalan futtatás elleni védelme valósítható meg, hanem a felhasználói software-ek gépfüggő dedikációja is. Ennek következtében a védelmi kulcs a számítógép szerves része és így a felhasználói program is csak a kulcsot tartalmazó gépen futtatható. 5 10 15 20 25 30 35 40 45 50 55 60 4