Ugrás a tartalomhoz

fingerprinting

A Wikiszótárból, a nyitott szótárból


Főnév

fingerprinting (tsz. fingerprintings)

  1. (informatika) A számítástechnikában az ujjlenyomat-vételi algoritmus egy olyan eljárás, amely egy tetszőlegesen nagy adatelemet (számítógépes fájlként távolítson el) egy sokkal rövidebb bitsorra, az ujjlenyomatára képezi le , amely minden gyakorlati célból egyedileg azonosítja az eredeti adatokat, ahogy az emberi ujjlenyomatok egyedileg azonosítják az embereket gyakorlati célokra. Ez az ujjlenyomat adatduplikáció megszüntetésére használható. Ezt fájl ujjlenyomatnak , adatujjlenyomatnak vagy strukturált adatok ujjlenyomatának is nevezik .

Az ujjlenyomatokat általában a terjedelmes adatok összehasonlításának és továbbításának elkerülésére használják. Például egy eltávolító, webböngésző vagy proxyszerver hatékonyan tudja ellenőrizni, hogy egy távoli van-e azáltal, hogy csak az ujjlenyomatát kéri le, és összehasonlítja a korábban letöltött másolatéval.

Az ujjlenyomat-függvények nagy teljesítményű hash-függvényeknek tekinthetők, amelyek jelentős adatblokkok egyedi azonosítására szolgálnak, ahol kriptográfiai funkciók lehetnek.

Különleges algoritmusok léteznek az audio- és video-ujjlenyomat-vételhez.

Tulajdonságok Virtuális egyediség Lásd még: Ütközésállóság Ahhoz, hogy a kívánt célt szolgálja, egy ujjlenyomat-algoritmusnak képesnek kell lennie egy fájl azonosságának virtuális biztonsággal történő rögzítésére. Más szavakkal, az ütközés valószínűsége – két fájl ugyanazt az ujjlenyomatot adja – elhanyagolhatónak kell lennie a végzetes hibák egyéb elkerülhetetlen okainak (például a rendszer háború vagy meteorit általi tönkretételének ) valószínűségéhez képest : mondjuk 10–20 vagy kevesebb.

Ez a követelmény némileg hasonlít az ellenőrző összeg függvényéhez , de sokkal szigorúbb. A véletlen adatsérülések vagy átviteli hibák észleléséhez elegendő, ha az eredeti fájl és a sérült verzió ellenőrző összegei közel bizonyossággal eltérnek, a hibák valamilyen statisztikai modellje alapján. Tipikus helyzetekben ez a cél könnyen elérhető 16 vagy 32 bites ellenőrző összegekkel. Ezzel szemben a fájl ujjlenyomatainak legalább 64 bitesnek kell lenniük , hogy garantálják a virtuális egyediséget nagy fájlrendszerekben (lásd: születésnapi támadás ).

A fenti követelmény bizonyításakor figyelembe kell venni, hogy a fájlokat erősen nem véletlenszerű folyamatok generálják, amelyek bonyolult függőséget hoznak létre a fájlok között. Például egy tipikus üzleti hálózatban általában sok olyan dokumentumpárt vagy klasztert találunk, amelyek csak kisebb szerkesztések vagy egyéb csekély módosítások révén térnek el egymástól. Egy jó ujjlenyomat-vételi algoritmusnak biztosítania kell, hogy az ilyen „természetes” folyamatok különálló ujjlenyomatokat hozzanak létre, a kívánt biztonsággal.

Összetétel Lásd még: Rolling hash A számítógépes fájlokat gyakran különféle módon kombinálják, például összefűzéssel (mint az archív fájlok esetében ) vagy szimbolikus beillesztéssel (mint a C előfeldolgozó #include direktívájánál ). Egyes ujjlenyomat-algoritmusok lehetővé teszik egy összetett fájl ujjlenyomatának kiszámítását az alkotórészeinek ujjlenyomataiból. Ez az "összeállítás" tulajdonság hasznos lehet bizonyos alkalmazásokban, például annak észlelésében, amikor egy programot újra kell fordítani.

Algoritmusok Rabin algoritmusa A Rabin-féle ujjlenyomat-vételi algoritmus az osztály prototípusa. [ 1 ] Gyorsan és egyszerűen megvalósítható, lehetővé teszi az összeállítást, és az ütközés valószínűségének matematikailag pontos elemzését tartalmazza. Ugyanis annak a valószínűsége, hogy két r és s karakterlánc ugyanazt a w bites ujjlenyomatot adja, nem haladja meg a max(| r |,| s |)/2 w -1 értéket , ahol | r | r hosszát jelöli bitben. Az algoritmus megköveteli a w bites belső "kulcs" korábbi kiválasztását , és ez a garancia mindaddig érvényes, amíg az r és s karakterláncokat a kulcs ismerete nélkül választják ki.

Rabin módszere nem biztonságos a rosszindulatú támadások ellen. Az ellenséges ügynök könnyedén felfedezheti a kulcsot, és az ujjlenyomat megváltoztatása nélkül használhatja a fájlokat módosítani.

Kriptográfiai hash függvények Fő cikk: kriptográfiai hash függvény A főáramú kriptográfiai minőségű hash-függvények általában kiváló minőségű ujjlenyomat-funkciókként szolgálhatnak, a kriptoanalitikusok intenzív vizsgálatnak vannak kitéve , és megvan az az előnyük, hogy biztonságosnak tartják őket a rosszindulatú támadásokkal szemben.

A kriptográfiai kivonatoló algoritmusok, például az MD5 és az SHA hátránya , hogy lényegesen tovább tart a végrehajtásuk, mint a Rabin-féle ujjlenyomat-algoritmus. Nincsenek bizonyított garanciák az ütközés valószínűségére vonatkozóan is. Ezen algoritmusok némelyike, különösen az MD5 , már nem ajánlott biztonságos ujjlenyomatvételhez. Továbbra is hasznosak a hibaellenőrzésnél, ahol nem elsődleges szempont a céltudatos adatmanipuláció.

Perceptuális hash Ez a rész egy részlet a Perceptual hashingből . [ szerkesztés ] Az észlelési hash egy ujjlenyomat-algoritmus használata, amely töredéket, hash-t vagy ujjlenyomatot állít elő a multimédia különféle formáiból . [ 2 ] [ 3 ] Az észlelési hash a lokalitásérzékeny hash egy fajtája , amely analóg, ha a multimédia jellemzői hasonlóak. Ez ellentétben áll a kriptográfiai kivonatolással , amely a bemeneti érték kis változásának lavinahatásán alapul, ami drasztikus változást okoz a kimeneti értékben. Az észlelési hash függvényeket széles körben használják online szerzői jogsértések felderítésére, valamint a digitális kriminalisztikai eljárásokban, mivel a hash-ek között korrelációt lehet kimutatni, így hasonló adatok találhatók (például eltérő vízjellel ) .