Az adatbázisok átlátható titkosítása
Ismeretes, hogy eddig nem volt mód az Access adatbázis táblákban tárolt értékek közvetlen hozzáféréstől való védelmére. Vagy a védelem eltávolításra kerül például a dbRecowery programokkal, vagy komoly korlátozásokat ró az adatbázisokkal dolgozó alkalmazások teljesítményére, és még mindig feltört, de nagy erőfeszítéssel.
Íme a javasolt módszer előnyei:
- A védelem a gomb megnyomásával történik
- adjon hozzá védelmet a kódhoz - adjon hozzá egy sort az adatbázis összekapcsolásakor, és módosítsa a sort a kóddal jelölt jelszóval (többet vagy semmit, ha módosítani nem szükséges)
- Nem távolítható el olyan programok, mint a dbRecowery
- Használata szinte nem befolyásolja a teljesítményt
- használhatja az ADO-t vagy a DAO-t
- A védelmi kód integrálható egy VB projektbe (2 osztály és 2 modul)
- Ne fizessenek programokat és elektronikus kulcsokat.
Itt vannak hiányosságai:
- megvalósítva Active-X dll formában a Visual Basic 6-ban (nem sikerült a VBA-ban)
- csak az adatok olvasása közben működik (az írás nem valósul meg)
- működik a WinXP alatt; a 2k alatt kell dolgoznia; 98 év alatt - nem működik (szükség van a befejezésre)
A tesztprojektről
- data.mdb - egy biztonságos adatbázis két táblával és egy lekérdezéssel
- user.mdb - DB a "fő" formátummal, amelyre az adat.mdb adatait a Protect.dll alkalmazásával küldi
- Protect.dll - nézett data.mdb ugyanabban a könyvtárban, mint maga, és visszatér ADODB.Recordset bejegyzési kell tenni a parancssor használatával „regsvr32.exe [utat a] \ Protect.dll”
A védelmi módszer leírása
Ez a módszer az átlátható titkosítás használatán alapul. Ezzel a megközelítéssel az adatmegfigyelõ program nem veszi észre, hogy az adatok titkosítva vannak. Más szóval, amikor a programunk ADODB könyvtárai hozzáférnek egy adatbázis fájlhoz - a leggyakoribb fájlt látják. De ha valaki más program elkezdi dolgozni az adatokat, akkor titkosított adatokat lát. Hasonló megközelítést alkalmaznak a HASP borítékban. De vele együtt az egész fájl titkosítva van, ami nagymértékben csökkenti a teljesítményt. Eközben elegendő csak az adatbázis fejlécét titkosítani, hogy elfogadható szintű védelmet kapjon.
Az Access DB használatához az ADODB-t jelenleg használják. Először létrejön egy kapcsolat az adatbázishoz (ADODB.Connection). Ha az összes csatlakozási paraméter be van állítva, akkor az Open módot hívják, ami megnyitja az adatbázist. Ugyanakkor az első H10000 bájt az adatbázis fájlból. Itt megindul a védelem. Mi vagyunk ezek A H10000 bájt előkódolt. A program az API-hívásokat az ReadFile függvényhez rögzíti, maga olvassa be az adatbázis fejlécét, és visszaadja a visszafejtett adatokat.
Az API-hívások átolvasása a ReadFile függvénybe, az alábbiakat kell tennie:
A csere funkció ugyanazokkal az érvekkel rendelkezik, mint az eredeti ReadFile. Így miután kezünkbe került a saját kezünkben, tudjuk, hol és mennyit számolhatunk, és hol hozhatjuk az eredményt. Amikor a csere funkció hívásra kerül, a következő történik: