Parmak izi (bilgi işlem) - Fingerprint (computing)

Gelen bilgisayar bilimleri , bir parmak izi algoritması bir işlemdir eşleyen bir keyfi büyük veri (örneğin bir bilgisayar olarak öğeyi dosyası çok daha kısa bir kadar) bit dizesi, onun parmak izi eşsiz insan gibi tüm pratik amaçlar için orijinal verileri tanımlayan, parmak izleri benzersiz olarak tanımlamak pratik amaçlar için insanlar. Bu parmak izi, veri tekilleştirme amacıyla kullanılabilir. Bu aynı zamanda dosya parmak izi, veri parmak izi veya yapılandırılmış veri parmak izi olarak da adlandırılır.

Parmak izleri, tipik olarak, hacimli verilerin karşılaştırılmasını ve iletilmesini önlemek için kullanılır. Örneğin, bir web tarayıcısı veya proxy sunucusu , yalnızca parmak izini alarak ve daha önce alınan kopyanınkiyle karşılaştırarak uzaktaki bir dosyanın değiştirilip değiştirilmediğini verimli bir şekilde kontrol edebilir.

Parmak izi işlevleri, kriptografik özet işlevlerinin gereksiz olabileceği önemli veri bloklarını benzersiz şekilde tanımlamak için kullanılan yüksek performanslı özet işlevleri olarak görülebilir . Sesli parmak izi algoritmaları, bu tür parmak izi işleviyle karıştırılmamalıdır.

İş yerinde bir karma işlevi

Özellikleri

Sanal benzersizlik

Amaçlanan amaçlarına hizmet etmek için, bir parmak izi algoritması, bir dosyanın kimliğini sanal kesinlikle yakalayabilmelidir. Başka bir deyişle, bir çarpışma olasılığı - aynı parmak izini veren iki dosya - diğer kaçınılmaz ölümcül hata nedenlerinin (sistemin savaş veya bir göktaşı tarafından yok edilmesi gibi) olasılığına kıyasla ihmal edilebilir olmalıdır : diyelim ki, 10 -20 veya daha az.

Bu gereksinim, bir sağlama toplamı işlevine biraz benzer, ancak çok daha katıdır. Yanlışlıkla veri bozulmasını veya iletim hatalarını tespit etmek için, hatalar için bazı istatistiksel modeller göz önüne alındığında, orijinal dosyanın ve herhangi bir bozuk sürümün sağlama toplamlarının neredeyse kesin olarak farklı olması yeterlidir. Tipik durumlarda, bu hedefe 16 veya 32 bit sağlama toplamları ile kolayca ulaşılabilir. Buna karşılık, büyük dosya sistemlerinde sanal benzersizliği garanti etmek için dosya parmak izlerinin en az 64 bit uzunluğunda olması gerekir (bkz. doğum günü saldırısı ).

Yukarıdaki gerekliliği kanıtlarken, dosyaların, dosyalar arasında karmaşık bağımlılıklar yaratan rastgele olmayan işlemler tarafından oluşturulduğunu dikkate almak gerekir. Örneğin, tipik bir iş ağında, genellikle yalnızca küçük düzenlemeler veya diğer küçük değişikliklerle farklılık gösteren birçok belge çifti veya kümesi bulunur. İyi bir parmak izi alma algoritması, bu tür "doğal" süreçlerin istenen kesinlik düzeyinde farklı parmak izleri oluşturmasını sağlamalıdır.

bileşik

Bilgisayar dosyaları genellikle çeşitli şekillerde, birleştirme gibi (gibi birleştirildiği arşiv dosyaları (olduğu gibi) veya sembolik dahil C önişlemci 'ın #include direktifi). Bazı parmak izi algoritmaları, bileşik bir dosyanın parmak izinin, onu oluşturan parçaların parmak izlerinden hesaplanmasına izin verir. Bu "bileşik" özelliği, bir programın ne zaman yeniden derlenmesi gerektiğini algılama gibi bazı uygulamalarda faydalı olabilir.

algoritmalar

Rabin'in algoritması

Rabin'in parmak izi algoritması , sınıfın prototipidir. Uygulaması hızlı ve kolaydır, birleştirmeye izin verir ve çarpışma olasılığının matematiksel olarak kesin bir analizi ile birlikte gelir. Yani, iki dizginin r ve s aynı w -bit parmak izini verme olasılığı max(| r |,| s |)/2 w -1 değerini aşmaz , burada | r | r'nin bit cinsinden uzunluğunu belirtir . Algoritma, önceden bir w -bit dahili "anahtar" seçimini gerektirir ve bu garanti, r ve s dizileri anahtar bilgisi olmadan seçildiği sürece geçerlidir .

Rabin'in yöntemi kötü niyetli saldırılara karşı güvenli değildir. Saldırgan bir aracı, anahtarı kolayca keşfedebilir ve parmak izini değiştirmeden dosyaları değiştirmek için kullanabilir.

Şifreleme karma işlevleri

Ana kriptografik sınıf karma işlevleri genellikle yüksek kaliteli parmak izi işlevleri olarak hizmet edebilir, kriptanalistlerin yoğun incelemesine tabidir ve kötü niyetli saldırılara karşı güvenli olduklarına inanılma avantajına sahiptir.

MD5 ve SHA gibi kriptografik karma algoritmaların bir dezavantajı, yürütmelerinin Rabin'in parmak izi algoritmasından çok daha uzun sürmesidir. Ayrıca çarpışma olasılığı konusunda kanıtlanmış garantilerden yoksundurlar. Bu algoritmalardan bazıları, özellikle MD5 , artık güvenli parmak izi için önerilmemektedir. Amaca yönelik veri kurcalamanın birincil sorun olmadığı durumlarda, hata denetimi için hala kullanışlıdırlar.

İlişkisel veritabanları için parmak izi ve filigran oluşturma

İlişkisel veritabanları için parmak izi ve dijital damgalama , telif hakkı koruması, kurcalama tespiti, hain izleme ve ilişkisel verilerin bütünlüğünü koruma sağlamaya aday çözümler olarak ortaya çıktı. Literatürde bu amaçlara yönelik birçok teknik önerilmiştir. Mevcut en son duruma ilişkin bir araştırma ve amaçlarına, parmak izini/filigranı ifade etme biçimlerine, kapak türüne, ayrıntı düzeyine ve doğrulanabilirliklerine göre farklı yaklaşımların bir sınıflandırması mevcuttur.

Uygulama örnekleri

NIST , dosyaların parmak izini almak ve bunları yazılım ürünleriyle eşlemek için kriptografik karma işlevlerini kullanan bir yazılım referans kitaplığı olan American National Software Reference Library'yi dağıtır . HashKeeper tarafından tutulan veritabanı, Ulusal Uyuşturucu İstihbarat Merkezi , "iyi olduğu bilinen" ve (örneğin ele geçirilen disk sürücülerinin içeriğini analiz) kolluk uygulamalarında kullanılmak üzere, bilgisayar dosyaları "kötü olduğu bilinen" nin parmak izi deposudur .

Ayrıca bakınız

Referanslar