Másolásvédelem á la .NET

Jipííí! Csináltam a már emlegetett Windows Forms-os prodzsektembe "másolásvédelmet".

Digitálisan aláírt licenszt használ, így azt (elvileg) nem lehet hamisítani. A licensz ráadásul ahhoz géphez kötött amire felkerült a progi (van egy a gép hardver elemeinek azonosítóiból generált, és így a gépre egyedi kulcs) , tehát nem lehet csak úgy lemásolni. Kezel időkorlátot is, ameddig a licensz érvényes (pl. bemutató verzióknál). A licensz aláírásához szükséges privát kulcs jelszóval védett, tehát ha tőlem ellopják a privát kulcsot vagy a licensz generátort, akkor sem tudnak vele "illegális" licenszeket használni. Szóval dagad a májam.

Egyetlen hátránya van, hogy technikailag sajnos csak az egységsugarú júzerek ellen véd... :-D

Az aláírás ellenőrzésére használt publikus kulcs a programba van beégetve. Ezt sajnos még akkor is le lehet cserélni - meg úgy egyáltalán az egész ellenőrzést kiiktatni -, ha a szerelvény alá van írva. Az aláírást sajnos elég egyszerűen le lehet szedni a szerelvényekről, szóval ez semmit nem ér ilyen szempontból...

Egyszóval sok hűhó semmiért... Illetve azért mégsem. Egy példányról így elég jól eldönthető, hogy legális-e, mivel csak az én privát strong name kulcsommal aláírt szerelvény és az én privát kulcsommal aláírt licensze esetén mondható annak. Ráadásul én is nyilvántartom a licenszeimet, tehát ez is egy további ellenőrzési pont. :-)

És legalább megismerkedtem a .NET-es kriptográfiai könyvtár alapjaival. :-)

Hozzászólások

Elvileg erre jó az assembly singing. A publikus kulccsal eldönthető, hogy a szerelvény valóban az eredeti állapotában van-e vagy sem. De hát ugye az aláírást is le lehet szedni róla, és akkor lőttek az egésznek.
De azt legalább már nem fogja tudni megcsinálni egy átlag júzer.

És bizonyíható a módosítás.

Amit persze a hajamra kenhetek. :-)

Izé, pontosan mi is az a szerelvény? Nálam a szerelvény előtt mozdony szokott lenni... :)

Igen az. Tehát EXE vagy DLL. A magyar oldalakon ez a szóhasználat/ferdítés van szokásban, azért bátorkodtam én is ezt használni.

Egyébként egyetértek. Elég kevés igazán találó magyar megfelelővel lehet találkozni úgy általában. :-)

Bár ez a "szerelvény" még a kevésbé idétlenek közül való szerintem, mert legalább valamennyire szemléletes (legalábbis számomra). Egy összetett gépalkatrészre tudok belőle asszociálni (leszámítva persze az említett vonatot). :-)

De ha a szerelvény = vonat, akkor:

compiler = vagon- és gépgyár
speckó, forráskód, stb. = tervrajz
projektvezető = gyárigazgató
programozó = heggesztő (szigorúan 2 g-vel!)

IT manager = mozdonyvezető
rendszergazda = fűtő
BSA = jegyellenőr
felhasználói licensz = menetjegy
júzer = utas
a rendszerbe felvitt adat = poggyász
számítógép = sínpálya (Celeron = keskeny-, AMD64 = széles nyomtávú)

és amikor kiderül, hogy a program nem alkamlas az eredetileg felmerülő problémára = holtvágány

:-)