Ebben a cikkben a szoftvertermékek védelméről lesz szó. Ez egy nagyon érdekes kérdés: rengeteg módja van az illegális másolás elleni védekezésnek, és ezeket folyamatosan fejlesztik. Gyakran lehet arról is hallani, hogy ez vagy az a termék feltörhetetlen, vagy csak nagyon bonyolult és hosszú folyamat végén lehet feltörni. Azonban ez sajnos nem így van.
Az egyik módja a programok védelmének a különböző algoritmusok, illetve az elektronikus kulcsok használata. Az elektronikus kulcs egy viszonylag bonyolult elektronikus szerkezet, mely energiafüggetlen memóriával rendelkezik. Ebben a memóriában tárolódnak el azok az adatok, amelyekre a a védelmi rendszernek szüksége van. Egy pár szót ejtünk arról a technológiáról, melyet ezekben az elektronikus "Stealth" kulcsokban alkalmaznak.

Nos, ebben az esetben is a mikroprocesszoros technológiát alkalmazzák. Azok az elektronikus kulcsok, melyek Stealth-technológiával működnek, beépített mikrokontrollerrel (ellenőrző csip) rendelkeznek. Ez a a megoldás rengeteg újfajta védekezési módszer megjelenését segítheti elő.
A védelem általában Y=F(X) típusú algoritmust használ. A prototípusaikkal ellentétben a Stealth kulcsok hardver szinten oldják meg az adatok kódolását. Ez biztosítja az emelt szintű védelmet a programtörésekkel (crack) szemben.
Akár 18 algoritmust is használhatnak egy Stealth kulcson belül. Vagyis egy ilyen kulcson belül 18 különböző hardver algoritmus alkalmazható. Ez azt jelenti, hogy egy termék védelme érdekében egyszerre több algoritmust is igénybe vehetünk.
Ez még inkább megnehezíti a feltörés folyamatát.
Ezek meglehetősen bonyolultak. Minden egyes algoritmusban jelen van az ún. meghatározó, mely bájtok sorozata, melyek az olvasástól és a változtatásoktól védettek, azaz illetéktelen nem tudja ezeket megváltoztatni.
Ennek a hossza akár 200 bájt (1600 bit) is lehet. Az összes lehetséges kombináció kipróbálásához, az ilyen algoritmus feltörésére sok-sok évezredre van szükség (elméletileg). Minden felhasználó, aki Stealth kulccsal rendelkezik, olyan kulcsot használ, amelyik gyárilag beépített algoritmusokkal rendelkezik. Azonban ezen túl lehetőség van saját algoritmusok megalkotására is. Ha ezt alkalmazza, akkor a kulcs a kódolást az ön által megadott algoritmus alapján fogja elvégezni.
A kulcs tulajdonságainak alkalmazása.
Az algoritmus létrehozása során használhatjuk azok kombinációját is, melyet önállóan is meghatározhatunk. Az algoritmus akár egyforma is lehet az adott Stealth kulcs esetében, vagy beállíthatjuk úgy is, hogy ezek az értékek az abszolút és egyedi ID (azonosító) értéktől függjenek. Létrehozhatunk olyan algoritmust is, amelyik korlátozza a futtatások számát. Ezt a demo verziók esetében célszerű alkalmazni.
Egyidejűleg 255 bájt kódolható. Bármilyen Stealth kulcs egy lekérdezés során 255 bájt (2040 bit) adatot képes feldolgozni. A nagyobb mennyiségű adatok kódolása magasabb szintû biztonságot is biztosít.
A "gyors" algoritmusok.
A hardver algoritmusok mellett alkalmazhatjuk az adatok gyors átalakításának algoritmusát is. Ez lehetővé teszi nagy mennyiségű adat kódolását olyan nagy sebességgel, hogy maga a folyamat gyakorlatilag észlelhetetlen lesz a felhasználó számára.
Az elektronikus kulcs hozzáférésének lehetőségei.
Bármilyen műveletet is szeretnénk elvégezni a Stealth kulcsokon, mindenképpen szükségünk lesz a hozzáférés kódjára. Létezik egy általános és három személyes kód. Ha több hozzáférési kódot használunk, akkor ezzel nagyban megnehezítjük a hozzáférést bármilyen nem publikus információhoz.
A rendszer tiltásai.
A hardver segítségével letiltható a memória adott részéből történő információ olvasása vagy írása. Ebben az esetben semmilyen program segítségével nem lehet sem olvasni, sem pedig megváltoztatni ezeket az adatokat (persze ha minden ilyen egyszerű lenne).
A Stealth kulcs memóriájának kódolása.
A Stealth kulcs memóriájában minden adat kódolt formában található. Magával a kódolás/dekódolás folyamatával a kulcs elektronikája foglalkozik. Ez a módszer gyakorlatilag értelmetlenné teszi ezeknek az adatoknak a kiolvasását, még nagyon drága hardverek segítségével is. Például, annak érdekében, hogy megszerezzük a kulcs másolatát, ezeket az adatokat be kell írni egy másik kulcsba. Azonban a másik kulcs elektronikája helytelenül fogja ezeket az adatokat értelmezni, mivel egy teljesen más algoritmus alapján végzi a dekódolást.
A debuggerek blokkolása.
A Stealth kulcs egyedi hardver védelemmel rendelkezik, amely azt a célt szolgálja, hogy ne lehessen megvizsgálni a működési elvét és logikáját különféle debuggerek segítségével. Ha a kulcs észleli, hogy az adatcserét egy segédprogram kezdeményezi (ebben az esetben ugyanis megnövekednek az időközök), akkor egész egyszerűen nem fog reagálni semmilyen parancsra.

Az adatcsere protokollja a Stealth kulcsok esetében.
"Mozgó" (Változó). A valós adatok mellett a kulcs által generálódik egy speciális "zaj", mely hasznos információt nem hordozó adatokat tartalmaz (azonban a tanulmányozás szempontjából ezek nagyon fontos adatok).
Kódolás. Minden adat, mely a kulcs és a program között áramlik, folyamatosan kódolódik. Ez a két funkció egy meglehetősen magas szintű védelmet biztosít a kulcs utánzatokkal szemben.
Önbeállítás. A munka folyamata során megtörténik a paraméterek optimális beállítása, amelyek a hardver- és szoftver-környezettől jelentősen függenek.
Automatikus verifikáció (ellenőrzés). Bármilyen információ kerül a memóriába, ezt azonnali verifikáció követi, vagyis mindenképpen leellenőrződik az adatok adekvátsága.
Automatikus ismétlés. Ha a különböző zajok miatt, melyeket más hardverek idéznek elő, hiba keletkezik, akkor a műveletet a rendszer újra megismétli, vagyis ismételten lekérdezi a kulcsot.
Ezek a tulajdonságok nagyban megnövelik a kulcs megbízhatóságát, és biztosítják számára a magas szintű összeférhetőséget a hardverekkel és szoftverekkel.
Folytatás.
Forrás: http://www.sura.ru/shadow/
|