Biklik saldırı - Biclique attack - Wikipedia

Bir biclik saldırı bir varyantıdır ortada buluşmak (MITM) yöntemi kriptanaliz. Bir kullanır bisiklik MITM saldırısı tarafından olası saldırıya uğramış mermi sayısını artıracak yapı. Biklik kriptanaliz, MITM saldırılarına dayandığından, her ikisi için de geçerlidir. blok şifreleri ve (yinelenen) karma işlevler. Biklik saldırıların her ikisini de tam olarak kırdığı bilinmektedir. AES[1] ve dolu FİKİR,[2] ancak kaba kuvvete göre sadece küçük bir avantaja sahip. Aynı zamanda KASUMI şifreleme ve ön görüntü direnci Skein-512 ve SHA-2 hash fonksiyonları.[3]

Biklik saldırı hala devam ediyor (Nisan 2019 itibarıyla) alenen bilinen en iyi tek tuşlu saldırı AES. Saldırının hesaplama karmaşıklığı , ve sırasıyla AES128, AES192 ve AES256 için. Bu, AES'e yapılan tüm tur sayısına saldıran herkesin bildiği tek tuşlu saldırıdır.[1] Önceki saldırılar yuvarlak azaltılmış varyantlara saldırdı (tipik olarak varyantlar 7 veya 8 mermiye düşürüldü).

Saldırının hesaplama karmaşıklığı , teorik bir saldırıdır, yani AES'in güvenliği bozulmamıştır ve AES kullanımı nispeten güvenli kalır. Biklik saldırı yine de ilginç bir saldırıdır ve blok şifrelerde kriptanaliz yapmak için yeni bir yaklaşım önermektedir. Saldırı ayrıca AES hakkında daha fazla bilgi verdi çünkü orada kullanılan mermi sayısındaki güvenlik marjını sorguladı.

Tarih

Orijinal MITM saldırısı ilk olarak Diffie ve Cehennem adamı 1977'de, DES'in kriptanalitik özelliklerini tartıştıklarında.[4] Anahtar boyutunun çok küçük olduğunu ve DES'i birden çok kez farklı anahtarlarla yeniden uygulamanın anahtar boyutu için bir çözüm olabileceğini savundular; ancak, MITM saldırıları nedeniyle çift DES kullanılmamasını tavsiye ettiler ve minimum olarak üçlü DES önerdiler (MITM saldırıları, güvenliği azaltmak için çift DES'e kolayca uygulanabilir. sadece , çünkü eğer düz ve şifreli metne sahiplerse, birinci ve ikinci DES şifrelemesini bağımsız olarak zorla çalıştırabilirsiniz).

Diffie ve Hellman, MITM saldırılarını önerdiğinden beri, temel MITM saldırısının uygulanamaz olduğu durumlarda yararlı olan birçok varyasyon ortaya çıktı. Biklik saldırı varyantı ilk olarak Dmitry Khovratovich, Hash-function kriptanaliz ile kullanım için Rechberger ve Savelieva.[5] Bununla birlikte, AES'e yaptıkları saldırıları yayınladıklarında, bisiklik kavramını blok şifreleme kriptanalizini içeren gizli anahtar ortamına nasıl uygulayacaklarını gösteren Bogdanov, Khovratovich ve Rechberger'di. Bundan önce, MITM saldırısını kolaylaştırmak için iki 'MITM alt şifresi' arasında bağımsız anahtar bitlerine ihtiyaç duyulması nedeniyle, AES ve diğer birçok blok şifresine yönelik MITM saldırıları çok az ilgi görmüştü - bu, birçok kişiyle başarılması zor bir şey. AES'ninki gibi modern anahtar programlar.

Biklik

Biklik yapının ne olduğuna dair genel bir açıklama için şu makaleye bakın: bicliques.

Bir MITM saldırısında, anahtar bitler ve birinci ve ikinci alt şifreye ait olanların bağımsız olması gerekir; yani, birbirlerinden bağımsız olmaları gerekir, aksi takdirde düz ve şifreli metin için eşleşen ara değerler MITM saldırısında bağımsız olarak hesaplanamaz (blokların anahtar bitlerinin paylaşılabildiği MITM saldırılarının varyantları vardır. Bkz. 3 alt kümeli MITM saldırısı ). Saldırıya uğrayan şifrenin yayılması nedeniyle, bu özellikten genellikle daha fazla sayıda turda yararlanılması zordur.
Basitçe söylemek gerekirse: Ne kadar çok tur atarsanız, o kadar büyük alt şifrelere sahip olursunuz. Sahip olduğunuz daha büyük alt şifrelere sahip olduğunuzda, alt şifreler arasındaki daha az bağımsız anahtar biti, bağımsız olarak kaba kuvvet uygulamak zorunda kalacaksınız. Elbette, her bir alt şifredeki bağımsız anahtar bitlerinin gerçek sayısı, anahtar çizelgesinin difüzyon özelliklerine bağlıdır.

Biclique'in yukarıdakilerin üstesinden gelmeye yardımcı olma yolu, örneğin, MITM saldırılarını kullanarak 7 tur AES'e saldırmasına ve ardından 3 uzunluğunda bir bislik yapı kullanarak (yani şifrenin 3 turunu kaplar) yararlanmasına izin vermesidir. 7. turun başlangıcındaki ara durumu son turun sonuna eşleyebilirsiniz, örneğin 10 (eğer AES128 ise), böylece temel bir MITM saldırısıyla bu kadar mermiye saldırmak mümkün olmasa bile şifrenin tüm tur sayısına saldırır.

Bu yüzden bisikliğin anlamı, MITM saldırısının sonundaki bir ara değeri en sondaki şifreli metne eşleyebilen bir yapıyı etkili bir şekilde inşa etmektir. Sonunda ara durumun hangi şifreli metne eşleneceği, elbette şifreleme için kullanılan anahtara bağlıdır. Durumu bislikteki şifreli metne eşlemek için kullanılan anahtar, MITM saldırısının birinci ve ikinci alt şifresinde zorlanan anahtar bitlerine dayanır.

Bu nedenle, biclique saldırılarının özü, MITM saldırısının yanı sıra, keybitlere bağlı olan bir biclique yapıyı etkin bir şekilde inşa edebilmektir. ve belirli bir ara durumu karşılık gelen şifreli metne eşleyebilir.

Biklik nasıl yapılır

Kaba kuvvet

Almak ara devletler ve ciphertexts, ardından aralarında eşleşen anahtarları hesaplayın. Bu gerektirir her ara durumun tüm şifreli metinlere bağlanması gerektiğinden anahtar kurtarmalar.

Bağımsız ilişkili anahtar diferansiyeller

(Bu yöntem, Bogdanov, Khovratovich ve Rechberger tarafından makalelerinde önerilmiştir: Biclique Cryptanalysis of the Full AES[1])

Ön hazırlık:
Biklikliğin işlevinin ara değerleri haritalamak olduğunu unutmayın. , şifreli metin değerlerine, , anahtara göre öyle ki:

Prosedür:
Adım bir: Bir ara durum (), bir şifreli metin () ve bir anahtar () şu şekilde seçilir: , nerede belirli bir anahtar kullanarak ara durumu bir şifreli metne eşleyen işlevdir. Bu, temel hesaplama olarak belirtilir.

İkinci adım: İki boyutta ilgili anahtar seti seçilmiş. Anahtarlar şu şekilde seçilir:

  • İlk anahtar seti, aşağıdaki diferansiyel gereksinimleri karşılayan anahtarlardır. temel hesaplamaya göre:
  • İkinci anahtar seti, aşağıdaki fark gereksinimleri karşılayan anahtarlardır. temel hesaplamaya göre:
  • Anahtarlar, - ve -farklılar bağımsızdır - yani doğrusal olmayan herhangi bir aktif bileşeni paylaşmazlar.

Diğer bir deyişle:
0 giriş farkı, şu değerdeki bir çıktı farkıyla eşleşmelidir: önemli bir fark altında . Tüm farklılıklar temel hesaplamaya göredir.
Giriş farkı şunun temel farkı altında 0'lık bir çıktı farkıyla eşleşmelidir . Tüm farklılıklar temel hesaplamaya göredir.

Adım üç: İzler doğrusal olmayan bileşenleri (S kutuları gibi) paylaşmadığından, yollar birleştirilerek şunları elde edilebilir:
,
2. adımdaki her iki farkın tanımlarına uymaktadır.
Tuple'ı görmek önemsizdir. Temel hesaplamadan, farklılıklar temel hesaplamaya göre olduğundan tanım gereği her iki farklılığa da uygundur. İkame iki tanımdan herhangi birine girerseniz, dan beri ve .
Bu, temel hesaplamanın demetinin birleştirilmiş izlere de XOR'lanabileceği anlamına gelir:

Adım dört: Bunu görmek önemsiz:



Bu, yukarıdaki birleşik farklı yollarla değiştirilirse, sonuç şöyle olacaktır:

Tanımla aynı olan, daha önce bir biclik için vardı:

Böylelikle bir bislik boyut oluşturmak mümkündür ( her şeyden beri ilk tuş takımının tuşları ile birleştirilebilir. ikinci anahtar grubundaki anahtarlar). Bu, bir bislik boyut anlamına gelir sadece kullanılarak oluşturulabilir diferansiyellerin hesaplamaları ve bitmiş . Eğer için sonra tüm anahtarlar biclikte de farklı olacaktır.

AES'e yapılan önde gelen biklik saldırıda biklik bu şekilde inşa edilir. Bu teknikle biklik inşa etmede bazı pratik sınırlamalar vardır. Biklik ne kadar uzunsa, farklı yolların kapsaması gereken turlar o kadar fazladır. Şifrenin difüzyon özellikleri, bu nedenle, bisikliği oluşturmanın etkinliğinde önemli bir rol oynar.

Biklik yapmanın diğer yolları

Bogdanov, Khovratovich ve Rechberger ayrıca, "Tam AES'nin Biklik Kriptanalizi" adlı makalede "Interleaving Related-Key Differential Trails" olarak adlandırılan, bisikliği inşa etmenin başka bir yolunu açıklamaktadır:[1]".

Biklik Kriptanaliz prosedürü

Adım bir: Saldırgan, tüm olası anahtarları, boyutun anahtar alt kümelerine gruplandırır bazı , bir gruptaki anahtarın indekslendiği boyut matrisinde . Saldırgan şifreyi iki alt şifreye böler, ve (öyle ki ), normal bir MITM saldırısında olduğu gibi. Alt şifrelerin her biri için anahtar seti esas niteliğindedir ve denir ve . Alt şifrelerin birleşik anahtarı yukarıda belirtilen matris ile ifade edilir. .

İkinci adım: Saldırgan, her grup için bir biclik oluşturur. anahtarlar. Biklik, eşlendiği için boyut-d'dir. iç durumlar , için şifreli metinler, , kullanma anahtarlar. "Biklik nasıl yapılır" bölümü, "Bağımsız ilişkili anahtar farklılıkları" kullanılarak bisikliğin nasıl inşa edileceğini gösterir. Biclik, bu durumda, anahtar setinin diferansiyelleri kullanılarak inşa edilmiştir, ve , alt şifrelere ait.

Adım üç: Saldırgan, olası şifreli metinler, ve bir şifre çözme oracle'dan eşleşen düz metinleri sağlamasını ister, .

Adım dört: Saldırgan dahili bir durum seçer, ve karşılık gelen düz metin, ve her zamanki MITM saldırısını gerçekleştirir. ve iç durumdan ve düz metinden saldırarak.

Beşinci adım: Eşleşen bir anahtar aday bulunduğunda ile , bu anahtar başka bir düz / şifreli metin çiftinde test edilir. anahtar diğer çiftte geçerliyse, büyük olasılıkla doğru anahtartır.

Örnek saldırı

Aşağıdaki örnek, "Biclique Cryptanalysis of the Full AES[1]".
Örnekteki açıklamalar saldırının yazarlarının kullandığı terminolojinin aynısını kullanır (yani değişken isimler vb. İçin).
Basit olması açısından, aşağıda ele alınan AES128 varyantına yapılan saldırıdır.
Saldırı, bislik ile son 3 turu kapsayan 7 mermi MITM saldırısından oluşur.

Anahtar bölümleme

Anahtar alanı, her grubun oluştuğu anahtar grupları anahtarlar.
Her biri için gruplar, benzersiz bir temel anahtar temel hesaplama için seçilir.
Temel anahtar, aşağıdaki tabloda gösterilen sıfıra ayarlanmış iki belirli bayta sahiptir (bu, anahtarı AES'nin AES128 için 4x4 matriste yaptığı gibi temsil eder):

Anahtarın kalan 14 baytı (112 bit) daha sonra numaralandırılır. Bu verir benzersiz temel anahtarlar; her anahtar grubu için bir tane.
Sıradan daha sonra her gruptaki anahtarlar, temel anahtarlarına göre seçilir. Temel tuşla neredeyse aynı olacak şekilde seçilirler. Yalnızca 2 bayt olarak değişir (ya s veya aşağıda gösterilen 4 bayt):

Bu verir ve hangi kombine verir farklı anahtarlar, . bunlar tuşlar, ilgili temel anahtar için gruptaki anahtarları oluşturur.

Biklik yapı

bisiklikler, "Biklik nasıl inşa edilir" bölümünde açıklandığı gibi "Bağımsız ilişkili anahtar farklılıkları" tekniği kullanılarak oluşturulur.
Bu tekniğin kullanılmasının gerekliliği, birleştirilmesi gereken ileri ve geri diferansiyel izlerin herhangi bir aktif doğrusal olmayan öğeyi paylaşmamasıydı. Durumun böyle olduğu nasıl bilinir?
1. adımdaki anahtarların temel anahtara göre seçilme şekli nedeniyle, diferansiyel izler anahtarları kullanmak Asla herhangi bir aktif S-box'ı (AES'deki doğrusal olmayan tek bileşen) diferansiyel izlerle paylaşmayın anahtarı kullanmak . Bu nedenle, farklı yolları XOR ve biklik oluşturmak mümkündür.

MITM saldırısı

Biklikler oluşturulduğunda, MITM saldırısı neredeyse başlayabilir. MITM saldırısını yapmadan önce, düz metinden ara değerler:
,
şifreli metinden ara değerler:
,
ve ilgili ara durumlar ve alt anahtarlar veya ancak önceden hesaplanır ve saklanır.

Artık MITM saldırısı gerçekleştirilebilir. Bir anahtarı test etmek için , yalnızca şifrenin bazı bölümlerinin yeniden hesaplanması gereklidir, ve . Geriye dönük hesaplama için -e , bu yeniden hesaplanması gereken 4 S kutusudur. İleriye dönük hesaplama için -e , sadece 3'tür (gerekli yeniden hesaplama miktarı için ayrıntılı bir açıklama "Tam AES'in Biclique Cryptanalysis'i bulunabilir.[1]"bu örneğin alındığı kağıt).

Ara değerler eşleştiğinde, bir anahtar aday arasında ve bulunan. Anahtar adayı daha sonra başka bir düz / şifreli metin çifti üzerinde test edilir.

Sonuçlar

Bu saldırı, AES128'in hesaplama karmaşıklığını düşürür. , bruteforce yaklaşımından 3-5 kat daha hızlıdır. Saldırının veri karmaşıklığı ve hafıza karmaşıklığı .

Referanslar

  1. ^ a b c d e f Bogdanov, Andrey; Khovratovich, Dmitry; Rechberger, Christian. "Tam AES'in Biklik Kriptanalizi" (PDF). Arşivlenen orijinal (PDF) 2012-06-08 tarihinde. Alıntı dergisi gerektirir | günlük = (Yardım)
  2. ^ "Dar Bicliques: Tam IDEA'nın Kriptanalizi". CiteSeerX  10.1.1.352.9346. Alıntı dergisi gerektirir | günlük = (Yardım)
  3. ^ Preimages için Bicliques: Skein-512 ve SHA-2 ailesine yapılan saldırılar
  4. ^ Diffie, Whitfield; Hellman, Martin E. "NBS Veri Şifreleme Standardının Kapsamlı Kriptanalizi" (PDF). Alıntı dergisi gerektirir | günlük = (Yardım)
  5. ^ Khovratovich, Dmitry; Rechberger, Christian; Savelieva, Alexandra. "Preimages için Biklikler: Skein-512 ve SHA-2 ailesine yapılan saldırılar" (PDF). Alıntı dergisi gerektirir | günlük = (Yardım)