İkinci bir preimaj saldırısı ile çarpışma saldırısı arasındaki fark nedir?


24

Wikipedia, ikinci bir preimage atağını şu şekilde tanımlar :

sabit bir m1 mesajı verildiğinde, m2 (m2) = karma (m1) şeklinde farklı bir mesaj m2 bulun.

Wikipedia bir çarpışma saldırısını şu şekilde tanımlar :

iki farklı m1 ve m2 mesajını bulun, böylelikle karma (m1) = karma (m2) olur.

Görebildiğim tek fark, ikinci bir preimage saldırısında, m1'in zaten var olduğu ve saldırganın bildiği. Bununla birlikte, bu beni önemli olarak etkilemiyor - nihai amaç hala aynı hastayı üreten iki mesaj bulmak.

İkinci bir preimaj saldırısı ve çarpışma saldırısının gerçekleştirilmesindeki temel farklar nelerdir? Sonuçlardaki farklılıklar nelerdir?

(Bir kenara, bu soruyu doğru bir şekilde etiketleyemiyorum. "Kriptografi güvenlik öncesi görüntü çarpışması" etiketlerini uygulamaya çalışıyorum, ancak yeterli itibarım yok. Birisi uygun etiketleri uygulayabilir mi?)


1
İzleniminiz doğru - fark bu. Hatalı olduğunuz kısım bunun pratikte BÜYÜK bir fark olduğu. Belirli bir düz metin için bir çarpışma bulabilen bir çarpışma olan herhangi iki şeyi bulabilmeniz ve bir başkasını bulmak mümkün. Örneğin, belirli bir mesajı taklit etmek istiyorsanız, varoluşsal sahtecilik yapabilmek faydasızdır - ele geçirdiğiniz mesajla aynı şeyi yapan başka bir mesaja ihtiyacınız vardır.
Adrian Petrescu

@Adrian Petrescu: Bir cevap verebilir misiniz ve belki biraz daha detaylandırabilir misiniz? Her birinin (ön saldırı saldırısı için bir durum sağlarsınız, ancak çarpışma saldırısı için değil) en uygun olduğu gibi şeyler ekleyin.
Thomas Owens

Yanıtlar:


27

Saldırı senaryoları ile sizin için farkı motive edebilirim.

Bir de ilk öngörüntü atak , sadece belirli bir düşmanı, sorun bulmak için, m ya da m ' , öyle ki , H ( m, ' ) = * H ( m ) . Web sitesi depolar varsayalım { u s e r , n bir m, e , H ( s , bir s s w O r d ) } veritabanlarının yerine de { u s e'H(m)mm''H(m')'H(m){usernbirme,'H(pbirsswOrd)} . Web sitesi hala şifrelerini kabul edip karşılaştırarak kullanıcının doğruluğunu kontrol edebilirsiniz H ( i , n p u t ) = ? 'H ( s , bir s s w O r d ) (olasılığı ile 1 / 2 , n bazı büyük için n yanlış pozitif). Şimdi bu veritabanının sızdırıldığını ya da başka şekilde karşılaştırıldığını varsayalım. bir{usernbirme,pbirsswOrd}H(input)=?H(password)1/2nnilk ön hamle saldırısı , bir düşmanın yalnızca bir mesaj özetine erişebildiği ve bu değere sahip bir mesaj üretmeye çalıştığı durumdur.

Bir de ikinci öngörüntü saldırısı , biz hasım fazla bilgi verir. Özellikle, sadece biz onu vermek do değil, aynı zamanda onu vermek m . H ( m ) = m d karma fonksiyonunu göz önünde bulundurunH(m)mp ve q, büyük asal ve vardır d genel bir sabittir. Açıkçası,ilk preimage saldırı içinbu RSA problemi haline geliyor ve zor olduğuna inanılıyor. Bununla birlikte,ikinci ön hamle saldırısındabir çarpışma bulmak kolaylaşır. Eğer biri m = m koyarsaH(m)=mdmodpqpqd , H ( m p q + m ) = ( m p q + m ) dm=mpq+m . Ve böylece rakip, hesaplamanın çok az olduğu bir çarpışma buldu.H(mpq+m)=(mpq+m)dmodpq=mdmodpq

Bu dirençli bir şekilde hızlı arama fonksiyonlarını istiyoruz ikinci öngörüntü saldırıları durumda olarak, dijital imza şemaları, ile genel bilgileri olarak kabul edilir ve (dolaylı yoldan bir seviye ile) boyunca geçirilir Belgenin her kopyası. İşte bir saldırganın hem erişimi vardır d . Saldırgan orijinal belge üzerinde bir varyasyon (veya tamamen yeni bir mesajla) ile gelip Eğer d ' , öyle kiH(document) ve H ( d o c u m e n t )documentH(document)d o sanki onun belgesi yayınlamak olabilir Orijinal imzalayan.'H(d')='H(dOcument)

Bir çarpışma saldırısı , rakiplere daha fazla fırsat verir. Bu şemada, rakipten (onu Bob diyebilir miyim?) ve m 2 mesajlarını bulmasını isteriz ki öyle ki H ( m 1 ) =m1m2 . Güvercin deliği prensibi ve doğum günü paradoksu nedeniyle, 'mükemmel' hash fonksiyonları bile, çarpışma saldırılarına karşı önleyici ataklardan dört kat daha zayıftır. Başka bir deyişle, öngörülemeyen ve geri dönüşü olmayan bir mesaj sindirim işlevi f ( { 0 , 1 } ) = { 0'H(m1)='H(m2) alır O ( 2 N ) kaba kuvvet zaman, bir çarpışma her zaman beklenen süre bulunabilir O ( s q r t ( 2 N ) ) = O ( 2 N / 2 ) .f({0,1}*)={0,1}nO(2n)O(sqrt(2n))=O(2n/2)

Bob, avantajına çarpışma saldırısını birçok yönden kullanabilir. İşte en basitlerinden biri: Bob iki ve b ikilileri arasında bir çarpışma bulur ( H ( b ) = Hbb' b geçerli bir Microsoft Windows güvenlik yaması ve olacak şekilde) b ' malware olduğunu. (Bob Windows için çalışıyor). Bob güvenlik düzeltme ekini bir emir komuta zinciri yolluyor, bir kasanın ardında kodu imzalayıp bir ikiliyi bir hatayı düzeltmek için dünyadaki Windows kullanıcılarına gönderiyorlar. Bob artık dünyanın her yerindeki tüm Windows bilgisayarlara b ve Microsoft’un hesapladığı b.'H(b)='H(b')bbb. Bu tür saldırı senaryolarının ötesinde, eğer bir karma fonksiyonun çarpışmaya dirençli olduğuna inanılırsa, bu karma fonksiyonun da preagege dayanıklı olması daha muhtemeldir.


Bu güzel açıkladı. Aradığımdan çok daha fazla matematik, ama çabanı takdir ediyorum - her birinden seni takip ettim. Teşekkürler.
Thomas Owens

Ve vay. Bir RIT öğrencisi.
Thomas Owens

1
Thomas nasıl gidiyor? Sanırım arkadaşım Alan Meekins ile birlikte Fizik yaptın. Burada RIT insanları görmek güzel! Ayrıca, cevabı kabul ettiğiniz için teşekkür ederiz.
Ross Snider

Oldukça iyi. Eğer sonbaharda kampüs etrafında olacak ve güvenlikle ilgilenecekseniz, belki bizzat görüşebiliriz. Bu yaz bazı uygulamalı güvenlik çalışmaları yapıyorum (stenografi, steganaliz, genel anahtar şifreleme, dijital imzalar) konuyla ilgili makalelerin çoğundan geçmek için zaman veya matematiksel arka plan).
Thomas Owens

rws1236@cs.rit.edu
Ross Snider

2

Çarpışma saldırıları çok daha kolay olabilir , ancak başarılı olursa, çok daha az kullanışlı.


1

Ross'un ayrık kütük problemi olarak bahsettiği problem, gerçekte tamamen farklı bir problemdir, RSA problemi, hesaplama köklerinden ayrık kütükten çok daha fazla ilişkilidir.


2
Bu kesinlikle doğru! Hata. Başlangıçta ayrık log problemini kullandım ve daha sonra programın detaylarını değiştirdim. İyi yakalama. Bunun yeni bir cevap oluşturduğundan emin değilim - cevabımın altında yorum olarak bırakmak muhtemelen daha uygun oldu.
Ross Snider,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.