Diffie-Hellman Key Exchange

Gürkan YILDIRIM
26 min readFeb 26, 2021

Diffie-Hellman Key Exchange

Gürkan YILDIRIM

Ders: Kriptoloji ve Güvenlik Protokolleri

Eğitmen: Öğr. Gör. Mehmet Fatih ZEYVELİ

Şubat 2021

İçindekiler

1. Giriş. 4

2. Genel Bakış. 5

3. Kriptografik Açıklama. 6

4. Gizlilik Tablosu. 7

5. Sonlu Döngüsel Gruplara Genelleme. 8

6. İkiden Fazla Tarafla Operasyon. 9

7. Güvenlik. 10

7.1. Internet Trafiğine Pratik Saldirilar. 12

8. Diğer Kullanımlar. 12

8.1. Şifreleme. 12

8.2. İleri Gizlilik. 13

8.3. Parola Doğrulamalı Anahtar Sözleşmesi 13

8.4. Genel Anahtar. 13

9. Kriptoanaliz. 14

9.1. Güvenlik Özellikleri 15

9.2. Arazi`nin Protokolü. 16

9.2.1. Protokol 16

9.3. Mesaj alışverişi:. 17

9.3.1. Mesaj doğrulama ve anahtar türetme: 17

9.3.2. Güvenlik analizi 18

9.4. Harn`in Protokolü. 19

9.4.1. Protokol 20

9.4.2. Güvenlik Analizi 21

9.5. Phan`in Protokolü. 23

9.5.1. Protokol 23

9.5.1. Güvenlik Analizi 24

9.6. Ayrık Logaritma Atağı 24

9.6.1. Atak mekanizması:. 25

9.6.2. Saldırı 25

9.7. Diffie-Hellman (Ortadaki Adam). 26

9.7.1. Method. 26

10. Sonuç. 29

Referanslar. 30

Genel referanslar. 30

Kriptoanaliz Referans. 30

1. Giriş

İlk açık kaynak anahtar protoklü Ralph Merkle tarafından tasarlanmış ve adını Whitfield Diffie ile Martin Hellman isimlerinden almıştır. Anahtar değişimi açık bir kanal üzerinden güvenli olarak karşılıklı değiştirme yöntemidir. Diffie-Hellman, açık anahtar değişiminde kriptografik olarak bilinen Pratik ve en eski yöntemlerdendir. Diffie ve Hellman`ın 1976`da Bu, yayınlanmış bir özel anahtar ve karşılık gelen bir açık anahtar fikrini tanıtan en eski kamu çalışmasıdır. Gelen Diffie-Hellman anahtar değişim şemasında, her iki taraf da bir genel / özel anahtar çifti oluşturacak ve genel anahtarı dağıtacaktır. Alice ve Bob birbirlerinin açık anahtarının gerçek bir kopyasına sahip olduktan sonra, çevrimdışı paylaşılan sırrı hesaplayabilirler. Paylaşılan sır, örneğin simetrik şifreler için bir anahtar olarak kullanılabilir.

Şifreli iletişim, ilk olarak, güvenilir bir kurye tarafından taşınan bir kağıt anahtar tablosu gibi bazı güvenli fiziksel araçlar aracılığıyla anahtarları değiş tokuş etmelerini gerektirir. Diffie-Hellman anahtar değişim yöntemi, iki tarafın birbirleri hakkında önceden bilgi sahibi olmadan güvenli olmayan bir kanalda paylaşılan bir gizli anahtar oluşturmasına olanak tanır. Bu anahtar daha sonra simetrik anahtar kriptografisi kullanarak sonraki iletişimleri şifrelemek için kullanılabilir.

Diffie-Hellman, çeşitli internet hizmetlerini korumak için kullanılır. Ancak, Ekim 2015`te yayınlanan araştırma, birçok Diffie-Hellman İnternet uygulaması tarafından kullanılan parametrelerin, iyi finanse edilen saldırganlar (belirli ülkelerdeki/bölgelerdeki güvenlik hizmetleri gibi) tarafından tehlikeye atılmasını önleyecek kadar güçlü olmadığını gösterdi.

Şema, Whitfield Diffie ve Martin Hellman tarafından 1976`da yayınlandı, ancak 1997`de İngiliz sinyal istihbarat ajansı GCHQ`dan James H. Ellis, Clifford Cocks ve Malcolm J. Williamson tarafından açıklandı. Açık anahtar daha önce 1969`da gösterilmişti.

Diffie-Hellman anahtar değişimi kendisi kimliği doğrulanmamış bir anahtar kimlik doğrulama protokolü olmasına rağmen, çeşitli kimliği doğrulanmış protokollerin temelini oluşturur ve taşıma katmanı güvenliği İleri gizliliğinin geçici modunda EDH veya DHE (parolaya bağlı olarak) sağlamak için kullanılır.

Bu yöntem, asimetrik bir algoritma kullanan bir açık anahtar şifreleme uygulaması olan RSA tarafından hızla benimsenmiştir. 1977`de süresi dolan ABD Patenti 4,200,770, şu anda kamuya açık olan bir algoritmayı açıklamaktadır. Hellman, Diffie ve Merkle`nin mucit olduğunu düşünüyor.

Şekil 1 Diffie-Hellman anahtar değişimi şeması

Şekil – 1 Gelen Diffie-Hellman anahtar değişimi Şema, her iki taraf bir genel/özel anahtar çifti oluşturur ve genel anahtar dağıtır. Alice ve Bob, birbirlerinin genel anahtarlarının otantik bir kopyasını aldıktan sonra, çevrimdışı olarak paylaşılan bir sırrı hesaplayabilirler. Paylaşılan sır, örneğin simetrik bir şifrenin anahtarı olarak kullanılabilir.

2. Genel Bakış

Diffie-Hellman anahtar değişimi, genel bir ağ üzerinden veri alışverişi için gizli iletişim için kullanılabilen iki taraf arasında paylaşılan bir sır oluşturur. Bir benzetme, çok büyük sayılar yerine renkler kullanarak açık anahtar değişimi kavramını gösterir:

Süreç iki tarafla başlar, Alice ve Bob, gizli tutulması gerekmeyen (ancak her seferinde farklı olması gereken) herhangi bir başlangıç ​​rengini açıkça kabul eder. Bu örnekte renk sarıdır. Herkes aynı zamanda sakladığı gizli renkleri de seçer - bu durumda kırmızı ve mavi-yeşil. Sürecin en önemli kısmı, Alice ve Bob`un sırayla ten rengi ve açık mavi karışımı oluşturmak için gizli renklerini birbirleriyle paylaşılan renklerle karıştırması ve ardından iki karışık rengi alenen değiştirmesidir. Sonunda her biri diğerinden elde edilen rengi belirli bir renkle karıştırır. Sonuç, nihai renk karışımının, ortağın nihai renk karışımıyla aynı olmasıdır (bu durumda, sarı-kahverengi).

Bir üçüncü şahıs değişim mesajını dinlerse, yalnızca ortak rengi (sarı) ve ilk karışık rengi (turuncu sepya ve açık mavi) bilir, ancak tarafın nihai gizli rengi (sarı) belirlemesi zordur. -Kahverengi). Bu belirleme simülasyonu, renkler yerine çok sayıda sayı kullanan gerçek değişime döndürür, bu nedenle hesaplama miktarı büyüktür. Modern süper bilgisayarlar için bile gerçek zaman hesaplanamaz.

3. Kriptografik Açıklama

Bu protokolün en basit ve en ilkel uygulaması, p tamsayısının modüler ürün grubunu kullanmaktır; burada p asal sayıdır ve g orijinal kök modülü p`dir. Bu iki değer, ortaya çıkan paylaşılan sırrın 1 ile p-1 arasında herhangi bir değeri alabilmesini sağlamak için bu şekilde seçilir. Bu, gizli olmayan değerlerin mavi ve gizli değerlerin kırmızı ile gösterildiği bir protokol örneğidir.

1. Alice ve Bob, p = 23 modülünü ve g = 5 tabanını (ilkel bir kök modülü 23 olan) kullanmayı açıkça kabul edilir.

2. Alice gizli bir tamsayı a = 4 seçer , sonra Bob A = g a mod p gönderir

· A = 5⁴ mod 23 = 4

3. Bob gizli bir tamsayı b = 3 seçer , sonra Alice B = g b mod p`yi gönderir

· B = 5³ mod 23 = 10

4. Alice s = B a mod p`yi hesaplar

· s = 10⁴ mod 23 = 18

5. Bob s = A b mod p`yi hesaplar

· s = 4³ mod 23 = 18

6. Alice ve Bob şimdi bir sırrı paylaşıyor (18 numara).

Alice ve Bob aynı değerlere ulaştı çünkü mod p altında,

Ab mod p = gab mod p = gba mod p = Ba mod p

Daha spesifik olarak,

(gab mod p)b mod p = (gb mod p)a mod p

Yalnızca a ve b gizli tutulur. Diğer tüm p, g, g a mod p ve gb mod p değerleri iletim için açılmıştır. Bu şemanın avantajı, gab mod p = gba mod p`yi yalnızca p, g, g, a mod p ve gb mod p bilgilerine dayalı olarak bilinen herhangi bir algoritma ile hesaplamanın uzun zaman almasıdır. Alice ve Bob paylaşılan sırrı hesapladıktan sonra, bunu yalnızca aynı genel iletişim kanalı üzerinden mesaj göndermeyi bildikleri bir şifreleme anahtarı olarak kullanabilirler.

Elbette, bu örneği güvenli kılmak için, a, b ve ı`nin daha büyük değerlerine ihtiyaç vardır, çünkü n mod 23`ün yalnızca 23 olası sonucu vardır. Bununla birlikte, p en az 600 basamaklı bir asal sayı ise, o zaman g, p ve ga mod p verilse bile, bilinen en hızlı algoritmayı kullanan hızlı ve modern bir bilgisayar bile bulamazsınız. Böyle bir soruna ayrık logaritma sorunu denir. Ga mod p`nin hesaplanmasına modüler üs alma denir ve çok sayıda hesaplama bile verimli bir şekilde tamamlanabilir. Lütfen gr değerinin hiç olmadığı kadar büyük olamayacağını unutmayın, pratikte genellikle küçük bir tam sayı olması gerekmez (örneğin 2, 3 ...).

4. Gizlilik Tablosu

Aşağıdaki tablo kimin neyi bildiğini göstermektedir, gizli olmayan değerler tekrar mavi renkte ve gizli değerler kırmızı ile gösterilmiştir. Eve burada gizlice dinliyor - Alice ile Bob arasında gönderilen içeriği izliyor, ancak iletişimlerinin içeriğini değiştirmiyor.

· g = genel (asal) taban; Alice, Bob ve Eve tarafından bilinir. g = 5

· Alice, Bob ve Eve tarafından bilinen p = genel (asal) modül. p = 23

· a = Alice`in özel anahtarı, sadece Alice tarafından bilinir. a = 6

· b = Bob`un özel anahtarı yalnızca Bob tarafından bilinir. b = 15

· A = Alice`in Alice, Bob ve Eve tarafından bilinen genel anahtarı. A = g a mod p = 8

· B = Bob`un Alice, Bob ve Eve tarafından bilinen genel anahtarı. B = g b mod p = 19

Alice

Bob

Havva

Bilinen

Bilinmeyen

Bilinen

Bilinmeyen

Bilinen

Bilinmeyen

p = 23

p = 23

p = 23

g = 5

g = 5

g = 5

a = 6

b

b = 15

a

a , b

A = 5 bir Mod 23

B = 5 Mod 23

Bir = 5 6 Mod = 8

B = 5 Mod = 19

B = 19

A = 8

A = 8 , B = 19

s = Ba Mod 23

s = Ab Mod 23

s = 196 Mod 23 = 2

s = 815 Mod 23 = 2

Şimdi s paylaşılan bir anahtardır, hem Alice hem de Bob bunu bilir, ancak Eve bilmiyor.

Eve`in g a + b mod p`ye eşit olan AB`yi hesaplamasının yararlı olmadığını unutmayın.

Alice`in Bob`un özel anahtarının şifresini çözmesi veya Bob`un Alice`in özel anahtarının şifresini çözmesi zor olmalıdır. Alice`in Bob`un özel anahtarının şifresini çözmesi (ve bunun tersi) zor değilse Eve, özel/genel anahtar çiftini değiştirebilir, Bob`un genel anahtarını özel anahtarına ekleyebilir, sahte bir paylaşılan anahtar oluşturabilir ve ardından Bao Bo`nun özel anahtarının kilidini açabilir (ve tersi). Paylaşılan anahtarın şifresini çözmek için kullanın. Eve, Bob`un özel anahtarının şifresini daha kolay çözebilmesi için bir genel/özel anahtar çifti seçmeyi deneyebilir. Diffie-Hellman`ın başka bir temsili (çok küçük sayılar da gerçek kullanımda kullanılır).

5. Sonlu Döngüsel Gruplara Genelleme

Protokolün daha genel bir açıklaması:

· Alice ve Bob sonlu ilgili kabul sıklık grup G düzenin n ve üretme elemanının g olarak G. (Bu genellikle protokolün geri kalanından çok önce yapılır; g`nin tüm saldırganlar tarafından bilindiği varsayılır.) G grubu çarpımsal olarak yazılır.

· Alice rastgele bir doğal sayı a seçer, burada 1 < a < n ve Bob`a ga gönderir.

· Bob, yine 1 < b < n olan rastgele bir doğal sayı b seçer ve Alice`e gb`yi gönderir.

· Alice değerlerini hesaplar (gb)a.

· Bob hesaplar (ga)b.

Artık hem Alice hem de Bob, paylaşılan anahtarlar olarak kullanılabilen gab grubu öğelerine sahip. Verilen g, ga ve gb`yi karşılayan G gab grubunun gerekli durumunu belirlemek için etkili bir algoritma yoksa. Örneğin, eliptik eğri Diffie-Hellman protokolü, çarpım grubu değişkenleri modulo p tamsayıları yerine eliptik eğrileri kullanır. Hiperelliptik eğrileri kullanan bir varyant da önerilmiştir. Ultra-tekil gen, anahtar değişim kuantum bilgisayarlarına karşı güvenli bir şekilde koruma sağlamak için tasarlanmış bir Diffie-Hellman varyantıdır.

6. İkiden Fazla Tarafla Operasyon

Diffie-Hellman anahtar anlaşması, iki katılımcı tarafından paylaşılan bir anahtarın müzakere edilmesiyle sınırlı değildir. Sözleşme sözleşmesinin yinelemelerini gerçekleştirerek ve ara verileri paylaşarak, herhangi bir sayıda kullanıcı sözleşmeye katılabilir (gizli tutmadan). Örneğin, Alice, Bob ve Carol Diffie-Hellman işlemlerine aşağıdaki şekilde katılabilir ve tüm işlemler modu p`dir:

· Taraflar, algoritma parametreleri p ve g üzerinde anlaşırlar.

· Taraflar, a, b ve c adlı özel anahtarlarını oluşturur.

· Alice hesaplar gr a ve Bob gönderir.

· Bob (g a)b = gab`yi hesaplar ve Carol`a gönderir.

· Carol (gab)c = gabc`yi hesaplar ve bunu sırrı olarak kullanır.

· Bob hesaplar grb ve Carol gönderir.

· Carol (gb)c = gbc`yi hesaplar ve Alice`e gönderir.

· Alice değerlerini hesaplar (gbc)a = grbca = grabc ve onun sır olarak kullanır.

· Carol gc`yi hesaplar ve Alice`e gönderir.

· Alice, (gc)a = gca`yı hesaplar ve Bob`a gönderir.

· Bob (gca)b = gcab = gabc`yi hesaplar ve bunu sırrı olarak kullanır.

Kontrol dışı kullanıcılar zaten ga, gb, gc, gab, gac ve gbc`yi görebilir ancak gabc`yi etkili bir şekilde kopyalamak için bunların herhangi bir kombinasyonunu kullanamaz.

• Bu mekanizmayı daha büyük bir gruba yaymak için iki temel ilkeye uyulmalıdır: Sadece g`den oluşan "boş" bir anahtardan başlayarak, sır, mevcut değeri her katılımcının özeline herhangi bir sırada bir kez artırmaktır. Temelde (örneğin, katılımcı tarafından sağlanan ortak anahtara göre).

• Herhangi bir ara değer açıklanabilir (N-1 endeksine uygulandığında, N, gruptaki katılımcı sayısıdır), ancak nihai değer (tüm N endeks uygulandıktan sonra) paylaşılan bir sır teşkil eder ve ifşa edilmemelidir. Bu nedenle, her kullanıcı, anahtarını en son uygulayarak anahtarın bir kopyasını almalıdır (aksi takdirde, son sağlayıcı son grubun korumak istediği sır olduğu için son sağlayıcıyı alıcıya iletmenin bir yolu olmayacaktır).

Bu ilkeler, katılımcıların anahtarlara katkıda bulunma sırasını seçmek için çeşitli seçenekler sunar. En basit ve en bariz çözüm, N katılımcıyı bir daire şeklinde düzenlemek ve sonunda tüm N katılımcı her bir tuşa katkıda bulunana (sahibi ile sonlandırın) ve her katılımcı N tuşa katkıda bulunana kadar N tuşu daire etrafında döndürmektir. (Kendi kendine bitir). Bununla birlikte, bu, her katılımcının N modüler üs alma gerçekleştirmesini gerektirir.

Daha uygun bir sıra seçerek ve anahtarın kopyalanabileceğine güvenerek, her bir katılımcı tarafından gerçekleştirilen modüler üs alma işlemlerinin sayısı böl ve yönet (N) + 1 günlüğü kullanılarak azaltılabilir. Bu sekiz katılımcı içindir:

· A, B, C ve D katılımcılarının her biri bir üs alma gerçekleştirir ve gabcd verir; bu değer E, F, G ve H`ye gönderilir. Karşılığında A, B, C ve D katılımcıları gefgh alır.

· Katılımcı A ve B`nin her biri bir üs alma gerçekleştirerek C ve D`ye gönderdikleri gefghab`ı verirken, C ve D de aynısını yaparak A ve B`ye gönderdikleri gefghcd`yi verir.

· Katılımcı A, B`ye gönderdiği gefghcda`yı veren bir üs alma gerçekleştirir; benzer şekilde, B gefghcdb`yi A`ya gönderir ve C de benzer şekilde yapar.

· Katılımcı A son bir üs alma gerçekleştirerek gefghcdba = gabcdefgh sırrını verirken, B aynı şeyi gefghcdab = gabcdefgh elde etmek için yapar; yine, C ve D benzer şekilde yapar.

· E ile H arasındaki katılımcılar, başlangıç ​​noktaları olarak gabcd`yi kullanarak aynı işlemleri gerçekleştirirler.

Bu süreç tamamlandıktan sonra, tüm katılımcılar gizli gabcdefgh`e sahip olacaklar, ancak her katılımcı basit bir dairesel düzenlemenin ima ettiği sekiz modüler güç yerine yalnızca dört modüler güç gerçekleştirecek.

7. Güvenlik

G ve g doğru olarak belirlenirse istenilmeyen dinlemelere karşı güvenliği sağlanır. Eğer büyük miktarda trafik var ise G nin sırasınında büyük olması gerekir. Saldırgan, trafiği dinlemek için Diffie-Hellman`a göre gab bilmek zorundadır. Bu durum, oluşturulan sıralamanın büyük olacağından dolayı zor kabul edilir. Diffie-Hellman problemini problemini çözmek için ayrık logaritma problemini çözmek kullanılmaktadır, a ve b`yi hesaplayıp çöüzümü kolaylaştırır. Bu aslında bir çok açık ka anahtarlamalar için güvelik sorunudur. Tanımlanan karakterler şifrelemeyi güvensiz yapmaktadır.

G ve a`yı kullanmaktan kaçınmak için, Pohlig-Hellman algoritmasını elde etmek için ana ana faktör a veya b olmalıdır. Bu nedenle, Sophie Germain`in q üssü bazen p = 2 q + 1`i hesaplamak için kullanılır, bu da güvenli asal olarak adlandırılır çünkü G`nin sıralaması yalnızca 2 ve q`ya bölünebilir. Daha sonra, bazen G`nin G alt grubu yerine q sırasını oluşturmak için g seçilir, bu nedenle Legendre sembolü ve ga alt a`yı göstermez. Bu seçimi kullanan protokol, örneğin IKEv2`dir.

g genellikle 2 gibi küçük bir tam sayıdır. Ayrık logaritma probleminin rastgele kendi kendine indirgenebilirliği nedeniyle, küçük g aynı gruptaki diğer bileşenlerle eşit derecede güvenlidir.

Alice ve Bob rastgele bir sayı üreteci kullanırsa (çıktısı tamamen rasgele ve bir dereceye kadar öngörülebilir değildir), bunların gizlice dinlenmesi kolaydır.

Açıklamada, Diffie-Hellman değişimi tek başına iletişim kuran tarafın kimlik doğrulamasını sağlayamaz ve bu nedenle ortadaki adam saldırılarına karşı savunmasızdır. Mallory (ortadaki adam saldırısı gerçekleştiren aktif bir saldırgan), biri Alice ile diğeri Bob ile olmak üzere, Bob`un Alice`i kılığına girerek ve tam tersi olmak üzere iki farklı anahtar değişimi kurabilir ve böylece bunların şifresini çözebilir ve yeniden şifreleyebilir. Arasındaki mesajlar. Alice ve Bob her iletişim kurduğunda, Mallory mesajın şifresini aktif olarak çözüp yeniden şifreleyerek ortada kalmaya devam etmelidir. Aksi takdirde, önceki varlığı Alice ve Bob`a açıklanacaktır. Tüm özel görüşmelerinin kanaldaki biri tarafından yakalandığını ve kodunun çözüldüğünü bilecekler. Çoğu durumda, iki değişim aynı anahtarı kullansa bile, bu Mallory`nin özel anahtarını almalarına yardımcı olmaz.

Bu tür saldırıları önlemek için, genellikle iletişim kuran tarafın kimliğini doğrulamak için bir yöntem gereklidir. Diffie-Hellman varyantları (STS protokolü gibi) bu tür saldırıları önlemek için kullanılabilir.

7.1. Internet Trafiğine Pratik Saldirilar

Dijital alan genellikle çözümdeki en etkili algoritmadır ve ayrık logaritma problemi dört hesaplama adımından oluşur. İlk üç adım, sınırlı bir logaritma gerektiren belirli sayıya değil, yalnızca G grubunun sırasına bağlıdır. Görünüşe göre çok fazla İnternet trafiği 1024 bitin altındaki birkaç gruptan birini kullanıyor. En yaygın sayı grubunu alan ilk üç adımını önceden hesaplayarak, saldırganın yalnızca belirli bir logaritma elde etmesi gerekir. İlk üç adım, son adımı gerçekleştirmek için hesaplama açısından daha ucuzdur. Logjam saldırı dizisinin 512 bitlik bir asal sayı olduğu düşünülür ve grubun, güvenlik açığının çeşitli hizmetlerini tehlikeye atmak için dışa aktarma düzeyinde İnternet`i kullanmasına olanak tanır. Yazar, tek bir 512 bit ana veriyi önceden hesaplamak için bir hafta içinde binlerce CPU çekirdeğine ihtiyaç duyar. Bu yapıldıktan sonra, iki adet 18 çekirdekli Intel Xeon CPU, tek bir logaritmayı yaklaşık bir dakika içinde çözmek için kullanılabilir.

Logjam saldırısının arkasındaki yazarın tahmin ettiği gibi, 1024 bitlik asal sayı tek günlük problemini çözmek için gereken daha zor ön hesaplama, örneğin büyük bir ulusal istihbarat teşkilatının bütçesi dahilinde 100 milyon dolara mal olacaktı. Ulusal Güvenlik Ajansı (NSA). Logjam`in yazarı, sızdırılan NSA belgelerinin arkasında, NSA`nın mevcut şifreleme teknolojilerinin çoğunu kırabileceğini iddia edenlerin, yaygın olarak kullanılan 1024-bit DH için ön hesaplama olduğuna inanıyor.

Bu güvenlik açıklarından kaçınmak için Logjam`ın yazarı, bilinmeyen eliptik eğri kriptografisinin kullanılmasını önerir. Aksi takdirde, Diffie-Hellman grubunun p sırasının en az 2048 bit olmasını önerirler. 2048-bit asal sayılar için gerekli olan ön hesaplama zorluğunun 1024-bit asalların 10 katı olduğunu tahmin ediyorlar.

8. Diğer Kullanımlar

8.1. Şifreleme

Diffie-Hellman anahtar değişimine dayalı genel anahtar şifreleme şemaları önerilmiştir. Bu tür ilk şema ElGamal şifrelemesidir. Daha modern bir varyant, Entegre Şifreleme Şemasıdır.

8.2. İleri Gizlilik

İleri güvenlik protokolü, her oturum için yeni bir anahtar çifti oluşturur ve bunları oturumun sonunda dağıtır. Hızlı anahtar üretimi nedeniyle, Diffie-Hellman anahtar değişimi bu tür protokoller için ortak bir seçimdir.

8.3. Parola Doğrulamalı Anahtar Sözleşmesi

Alice ve Bob bir parolayı paylaştıklarında, ortadaki adam saldırılarını önlemek için Diffie-Hellman`ın parola kimlik doğrulama anahtarı anlaşması (PK) biçimini kullanabilirler. Basit bir çözüm, s`nin karmasını kanalın her iki ucunda bağımsız olarak hesaplanan bir şifre ile birleştirmektir. Bu şemaların bir özelliği, saldırganın diğer tarafla her yinelemede yalnızca belirli bir parolayı test edebilmesi ve böylece iyi güvenlik sağlamak için nispeten zayıf bir sistem parolası kullanmasıdır. Bu yöntem, G.hn ev ağı standardı tarafından kullanılan ITU-T X.1035 Tavsiyesinde açıklanmıştır.

8.4. Genel Anahtar

Diffie-Hellman ayrıca açık anahtar altyapısının bir parçası olarak da kullanılabilir ve Bob`un mesajı şifrelemesine izin verir, böylece Bob, Alice`in genel anahtarının bilgisine güvenmediği sürece, aralarında herhangi bir iletişim olmadan yalnızca Alice mesajın şifresini çözebilir. Alice`in genel anahtarı. Bob, ona bir mesaj göndermek için rastgele bir b seçer ve sonra bunu, simetrik anahtarla şifrelenmiş mesajla birlikte Alice`e (şifresiz) gönderir. Sadece Alice simetrik anahtarı belirleyebilir, bu nedenle mesaj şifresi birdir (özel anahtar) çünkü sadece ona sahiptir. Önceden paylaşılan genel anahtarlar, ortadaki adam saldırılarını da önleyebilir.

(ga mod p, g, p)gb mod p(ga)b mod p

Aslında, Diffie-Hellman bu yöntemi kullanmaz RSA, baskın açık anahtar algoritmasıdır. Bu büyük ölçüde, RSA Security`nin anahtar imzalama için bir Verisign sertifika yetkilisi oluşturmasının tarihsel ve ticari nedenlerinden kaynaklanmaktadır. Yukarıda belirtildiği gibi, Diffie-Hellman doğrudan sertifikaları imzalamak için kullanılamaz. Ancak, ElGamal ve DSA imza algoritmaları matematiksel olarak bununla ilişkilidir ve MQV, STS ve IPsec protokol paketlerinin IKE bileşenleri İnternet protokolü iletişimlerini koruyabilir.

9. Kriptoanaliz

Bugün, genel anahtar (veya asimetrik) şifreleme sistemleri temel olarak güvenli olmayan kanallarda gizli anahtarlar oluşturmak ve dağıtmak için kullanılmaktadır [1]. Bu gizli anahtarlar daha sonra simetrik bir kriptografik protokol aracılığıyla şifreleme için kullanılır. Daha fazla taraf gerçek verileri sağlayabilir ve iki veya iki kişi arasındaki iletişimi sağlayabilir. Genel anahtar şifreleme sisteminin doğal hızı, simetrik şifreleme sistemindekinden daha yavaş olduğundan, tipik durumlarda, açık anahtar şifreleme sistemi, gerçek verilerin dağıtılması için tercih edilen yöntemdir. Öte yandan, gizli bir anahtarın dağıtılması gerektiğinde, bir açık anahtar şifreleme sistemi çekici bir çözümdür. Bu, gizli veya gizli varlıklara güvenmemelerini sağlayan güvenli bir iletişim kanalıdır.

Diffie-Hellman (DH) anahtar anlaşması protokolü, günümüzde yaygın olarak kullanılan ilk açık anahtar şifreleme sistemidir. Mucitleri Whitfield Diffie ve Martin Hellman, açık anahtar şifreleme ve dijital imzalar [2] üzerine Turing Ödülü`nü tanıtan çığır açan makaleleri nedeniyle 2015 ACM Ödülünü kazandı. DH protokolü, gizli bir anahtarda bir dizi mesajı değiş tokuş ederek birlikte güvenli olmayan bir kanal oluşturur (iletişim kuran iki tarafın birbiri hakkında önceden bilgisi yoktur). Bu özellik sayesinde birçok popüler internet protokolü (DH yöntemi gibi) tarafından benimsenmiştir. İnternet Protokolü Güvenliği (IPsec), Aktarım Katmanı Güvenliği (TLS) ve Güvenli Kabuk (SSH), şifreleme anahtarları.

DH protokolündeki açık anahtar üretimi, ayrık logaritmanın zorluğunu (saldırgan tarafından) hesaplar. DH protokolünün klasik sınırlamalarından biri, form kimlik doğrulaması sağlamamasıdır. Bu nedenle, iletişim kuran tarafın kimliği, DH protokolü ve uygun kimlik doğrulama protokolü entegre edilebilir. Bu amaçla, kullanıcı kimlik doğrulamasını sağlamak için DH protokolünün Dijital İmza Algoritması (DSA) ile entegre olmayı düşünüyoruz. İkincisi, 1991 yılında Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) tarafından önerildi ve Dijital İmza Standardının (DSS) bir parçasıdır. DSA imza mesajı açıkça gönderilir. Beklenmedik veri şifrelemesi sağlayın. Entegre DH-DSA protokolü ilk olarak [3] `te tanıtıldı ve hem güvenli hem de kimliği doğrulanmıştır. Kimlik doğrulamaya ulaşmak için bu yöntem, içinde alınıp verilen mesajların değiştirilmesini önerir. DH anahtarlı DSA. O zamandan beri, protokolün birçok zayıflığı [4], [5] ve çeşitli değişiklikler [6] - [9] önerildi.

Bu makalede, üç entegrasyon çeşidini analiz ettik. DH-DSA protokolü güvenlik açısından. Spesifik olarak, protokolü üç temel güvenlik yönünden kontrol ediyoruz, yani tekrar oynatmanın ileri gizliliği [5], bilinen anahtarların güvenliği [10] ve saldırıların esnekliği [11].

9.1. Güvenlik Özellikleri

Bu bölümde, güvenli iletişim protokolünün üç önemli işlevini kısaca tanıtıyor ve açıklıyoruz.

İletme gizliliği (veya mükemmel iletme gizliliği), (belirli) bir anahtar anlaşması protokolünün uzun vadeli şifreleme anahtarlarını tehlikeye atma işlevidir ve bu anahtarlar geçmiş oturum anahtarlarını yok etmez. Başka bir deyişle, ileri gizlilik işlevi kullanıcının oturum anahtarını yok etmeyecektir, örneğin, sunucunun özel anahtarı yok edilecektir. Ayrıca, oturumdan veya paroladan sonra gelecekteki özel anahtar tehlikesini de önler.

Bilinen anahtar güvenliği, diğer oturum anahtarlarına zarar vermek için oturum anahtarlarının tehlikeye atılmadığı (belirli) anahtar sözleşme anlaşmalarının bir işlevidir. Bu nedenle, iletişim kuran iki tarafın, her yönde birer tane olmak üzere iki oturum anahtarı oluşturduğunu varsayın. Düşman konuşmayı yakalasa bile, bir yöndeki anahtarın ters yönde oturum anahtarını hesaplaması yine de zor olacaktır. Tekrar saldırı direnci, (belirli) güvenliğin bir işlevidir. Tekrarlanan saldırılara direnmek için iletişim protokolünde geçerli bir mesaj yakalandı ve ardından mesaj kötü niyetle tekrarlandı. Tekrar saldırılarını önlemek için, bu mekanizmayı doğrulamak için iletişim kuran tarafların bazı mekanizmaları

Table 1 Arazi`nin Protokolü

Step

Alice

Bob

1

Generater Random

2

Generater Random w

3

Verify Signature ( of message

Compute

Verify Signature ( of message

Compute

9.2. Arazi`nin Protokolü

DH protokolünü entegre etmeye yönelik en eski girişimlerden biri DSA, Land [3] idi. Hedef, paylaşılan bir oturum anahtarı olan Alice ve Bob iletişim kuran iki taraftır. Bu bölümde, esasen Land`in anlaşmasıydı. Sonra zayıf yönlerini tartışıyoruz. Özellikle, protokolün bilinen anahtar güvenliği sağlamadığını ve tekrar saldırılara açık olduğunu gösterir. Temel protokol adımları Şekil 1`de gösterilmektedir.

9.2.1. Protokol

Başlangıçta, Alice ve Bob protokolü L, p, q ve g parametrelerini seçtiler. Bu parametrelerin (düşmandan) gizli tutulmasına gerek yoktur. Daha sonra Alice ve Bob, uzun vadeli anahtarlar adı verilen kendi genel ve özel şifreleme anahtarlarını oluşturdu. Aşağıda açıklandığı gibi protokol parametreleri ve uzun vadeli anahtarlar oluşturun.

(i) Alice ve Bob seçer

· 64 ve 512 ≤ L ≤ 1024`ün katı olan bir L sayısı

· büyük bir p, 2 L − 1 <p <2 L

· p − 1 ve q`nin bölen üssü 2159 <q <2160

· g Zp`de q çarpım sırasına sahip bir eleman (yani, g = h (p − 1) / q mod p> 1 bazı rasgele tamsayı h için 1 <h <p - 1) ile, burada Zp = {0, 1,. . . , p - 1}.

(ii) Alice üretir

· rastgele bir 0 olan özel anahtarı xA < xA <q

· açık anahtarı yA = g xA mod s.

(iii) Bob üretir

· xB rastgele bir sayı olan özel anahtarı 0 < xB <q

· açık anahtarı yB = g xB mod p

9.3. Mesaj alışverişi:

Protokol parametrelerini ve uzun vadeli anahtarı oluşturduktan sonra, Alice ve Bob, mA ve mB mesajlarıyla birlikte kendi doğru oluşturulmuş imzaları olan sA ve sB`ye sahip olurlar. Aşağıda, olay ve imza mesajı oluşturmak için gereken sırayı açıklıyoruz.

(iv) Alice

· rastgele bir sayı üretir v ∈ Zq

· mA = gv mod p

· rA = mA mod q hesaplar

· mA mesajı için sA imzasını şu şekilde hesaplar: sA = v −1 [H (mA) + xArA] mod q, burada v −1 v mod q`nun çarpımsal tersidir (yani, v −1v mod q = 1) ve H, mesaj m`de güvenli bir hash işlevidir. 160 bitlik bir hash değeri üretir, H (m)

· Bob`a (mA, sA) gönderir.

(v) Bob

· rastgele bir sayı üretir w ∈ Zq

· mB = gw w mod p

· rB = mB mod q

· sB = w−1 [H (mB) + xBrB] mod q

· Alice`e (mB, sB) gönderir

9.3.1. Mesaj doğrulama ve anahtar türetme:

Yukarıdaki mesaj alındığında, her iki taraf bağımsız olarak paylaşılan bir oturum anahtarı K alabilir. Değiş tokuş edilen düşmanların mesajlarını gözlemlemek K anahtarını belirleyemez, çünkü ayrık logaritma varsayımı problemini çözmek zordur (Varsayım 1) [12].

(vi) Alice

· Bob`dan alır (mB, sB)

· rB = mB mod q hesaplar

· mB mesajının DSS imzasını (rB, sB) doğrular

· (gizli) paylaşılan oturum anahtarını hesaplar K = mvB mod p.

(vii) Bob

· Alice`den alır (mA, sA)

· rA = mA mod q hesaplar

· mesaj mA`nın DSS imzasını (rA, sA) doğrular

· (gizli) paylaşılan oturum anahtarını hesaplar K = mwA mod p

Alice ve Bob tarafından hesaplanan anahtar K`nin aynısı. Yani Alice tarafından hesaplanan anahtar K =mvB mod p =(gw mod p)v mod p = gwv mod p. Benzer şekilde, Bob tarafından hesaplanan anahtar K = mwA mod p = (gv mod p)w mod p = gvw mod p. Son olarak, Varsayım 1 nedeniyle, bir düşman gözlemleyerek (gv mod p) ve (gw mod p), ne v ve w ne de (gvw mod p).

9.3.2. Güvenlik analizi

Bu bölümde arazinin güvenlik analizini tanıtıyoruz. Protokol, bilinen temel güvenlik işlevine odaklanır. Aşağıdaki iki özel anahtardan birinin (xA veya xB) ele geçirilmesi durumunda, düşman, K`ye benzer şekilde önceki tüm paylaşılan anahtarları hesaplayabilir. [4] Aşağıda gösterildiği gibi. Unutmayın, değişim mesajının imzası:

sA = v −1 [H (mA) + xArA] mod q (1)

sB = w −1[H (mB) + xBrB] mod q (2)

(1) ve (2) `den:

v = s−1A[H (mA) + xArA] mod q (3)

w = s−1B [H (mB) + xBrB] mod q (4)

(3) ve (4) `ü çarparak şunu elde ederiz:

vw = s-1As-1B [H(mA)+xArA] [H (mB) + xBrB] mod q (5)

Dolayısıyla, paylaşılan anahtar K aşağıdaki gibi ifade edilebilir:

K = gvw mod p

= gs-1A s-1B [H (mA) + xArA] [H (mB) + xBrB] mod p (6)

(6) `da bazı manipülasyonlar yaparak şunu elde ederiz:

KsAsB = g [H (mA) + xArA] [H (mB) + xBrB] mod p (7)

KsAsB = gH(mA) H(mB) gxArAH(mB) gH(mA) xBrB gxArAxBrB mod p (8)

Alice ve Bob`un genel anahtarları aşağıdaki gibidir:

yA = gxA mod p (9)

yB = gxB mod p (10)

Dolayısıyla, (9) ve (10) nedeniyle (8) `den şunu elde ederiz:

KsAsB = gH(mA) H (mB) yrAAH (mB) yHB (mA)rB (gxAxB)rArB mod p (11)

(11) `de, K paylaşılan anahtarının, herkesin bildiği bir miktar ve gxAxB mod p miktarı ile temsil edilebileceğini gözlemliyoruz, yani düşman onu alırsa. Oturum anahtarı K ise, gxAxB mod p sayısı hesaplanabilir. Bu nedenle düşman hepsini hesaplayabilecektir. Tüm şifrelenmiş ve önceki oturum anahtarlarının şifresini çözmek için mA ve mB mesajları K. Bu, protokolün bilinen herhangi bir anahtar güvenliği sağlamadığı anlamına gelir.

Son olarak, Land`in protokolü tekrarlanan saldırılara karşı savunmasızdır. Bu nedenle, örneğin düşman mesajı engelleyebilir. İmza sA`yı mA ile çalın ve ardından Bob`a dönün. Bu durumda, Bob`un aldığı mesajın yeni mi yoksa yeni mi olduğu. [9], saldırı tekrarını azaltmak için protokoldeki zaman damgasını kullanmak için bir yöntem önerdi.

9.4. Harn`in Protokolü

Bu bölümde, Harn ve ark. Tarafından önerilen üç aşamalı DHDSA protokolünün bir varyantını tanıtıyor ve analiz ediyoruz [6].

Table 2 Harn`in Protokolü

Step

Alice

Bob

1

Generater Random

2

Generater Random w

3

Verify Signature ( of message

4

Verify Signature ( of message

9.4.1. Protokol

Harn`ın anlaşması ile Land`ın anlaşması arasında bazı benzerlikler vardır. Farklılıklar aşağıda tartışılmaktadır. Şekil 2 ayrıca basit protokolün adımlarını gösterir.

Popüler İnternet güvenliği protokollerine benzer şekilde, Harn`ın TLS ve IPsec protokolleri, her yönde bir anahtar olmak üzere iki farklı paylaşılan oturum anahtarıdır. Özellikle, KAB oturum anahtarı Alice`den Bob`a gönderilen mesajı şifrelemek için kullanılır ve KBA oturum anahtarı Bob`dan Alice`e gelen mesajı şifrelemek için kullanılır. Söz konusu anahtar Alice tarafından (12) ve (13) aracılığıyla oluşturulmuştur:

KAB = y vB mod p

KBA = mxAB mod p (12)

KAB = m xBA mod p

KBA = ywA mod p (13)

(yA, xA) ve (yB, xB) `nin sırasıyla Alice ve Bob için genel ve özel anahtarlar olduğunu hatırlayın. Benzer şekilde, mA ve mB de Alice ve Bob arasında değiş tokuş edilen mesajlar olarak tanımlanır ve Land`in protokolüne uygun olarak tanımlanır:

mA = gv mod p

mB = gw mod p (14)

(9), (10) ve (14) kullanılarak, (12) ve (13) denklemleri aşağıdaki gibi dönüştürüldü:

KAB = gxBv mod p

KBA = gxAw mod p (15)

İki oturum anahtarı kullanıldığından, sA ve sB imzaları aşağıdaki gibi tanımlanır (Arazi protokolünden farklı):

sA = v −1 [H (mA || KAB || KBA) + xArA] mod q (16)

sB = w −1 [H (mB || KBA || KAB) + xBrB] mod q (17)

nerede || bitiştirme operatörüdür.

(16) ve (17) `de, mesaj imzaları sA ve sB, sırasıyla mesaj mA ve mB olan oturum anahtarına bağlıdır. Bu nedenle, Land protokolünün aksine, mA mesajı başlangıçta bir imza olmadan gönderilir (adım 1). Çünkü Alice bunu ilk başta bilmiyordu. KBA için gerekli mB`yi hesaplayın. Bu nedenle, sA imzalamak 3. adıma kadar beklemelidir.

9.4.2. Güvenlik Analizi

Bu bölümde güvenlik özelliklerini tartışıyoruz. Hahn`ın anlaşması. Özellikle, bilinen anahtar güvenlik, yönlendirme gizliliği ve saldırı önleme özelliklerine dayalı protokol analizi sağlanmaktadır.

1) Bilinen anahtar güvenliği: Bilinen anahtar güvenlik işlevi ile ilgili olarak, seans anahtarı, KAB ve KBA hakkında ne kadar bilgi sızdırıldığı, Alice ve Bob arasında sA ve sB`nin imzasını gözlemleyen düşmanla paylaşılır. Bu amaçla, aşağıda KAB ve KBA arasındaki ilişkiyi ortaya çıkarmak için (16) ve (17) `yi dönüştürüyoruz.

(16) ve (17) `nin her iki tarafını v ile çarparak başlayın ve sırasıyla w:

sAv = [H (mA || KAB || KBA) + xArA] mod q (18)

sBw = [H (mB || KBA || KAB) + xBrB] mod q (19)

XArA ve xBrB için sırasıyla (18) ve (19) `u çözün:

xArA = [sAv - H (mA || KAB || KBA)] mod q (20)

xBrB = [sBw - H (mB || KBA || KAB)] mod q (21)

Çarpma (20) ve (21):

xArA [sBw - H (mB || KBA || KAB)] =

xBrB [sAv - H (mA || KAB || KBA)] mod q (22)

Yukarıdaki denklem şuna eşdeğerdir:

xArAsBw + xBrBH (mA || KAB || KBA) =

[xBrBsAv + xArAH (mB || KBA || KAB)] mod q (23)

G`yi (23) modulo p`nin her iki tarafının gücüne yükseltin:

gxArAsBw + xBrBH (mA || KAB || KBA) =

gxBrBsAv + xArAH (mB || KBA || KAB) mod p (24)

(9), (10) ve (15) `i (24)` e değiştirin:

(KBA) rAsB (yB) rBH (mA || KAB || KBA) =

(KAB) rBsA (yA) rAH (mB || KBA || KAB) mod p (25)

(25) `deki iki aşama arasındaki ilişkiye bakılarak düşmanın anahtarlardan birini bildiği sonucuna varılabilir. Paylaşılan anahtar, başka bir paylaşılan anahtarın hesaplanması problemi en azından ayrık logaritmanın çözülmesiyle aynıdır.Geleneksel bilgisayarlarda etkili bir hesaplama yöntemi yoktur [6], [12].

2) İletim gizliliği: Daha sonra, gelişmiş gizlilik hakları [7], [13] ile Harn protokolünün bir güvenlik analizini gerçekleştiriyoruz. Yönlendirme gizliliği Uzun vadede, özel anahtar (yani xA veya xB) tehlikeye girdiğinde, rakip, oluşturulan oturum anahtarını (yani KAB ve KBA) önceden belirleyemez.

(12) ve (13) `ten hatırlayın, oturum anahtarları aşağıdaki gibi ifade edilir:

KAB = m xAB mod p

KBA = m xBA mod p (26)

Burada mA ve mB, güvenli olmayan kanallarda ve dolayısıyla düşmanlar arasında Alice ve Bob arasında değiş tokuş edilen miktarlardır. Düşmanın xA aldığını varsayalım. Daha sonra KAB (26) ile kolayca hesaplanabilir. Benzer şekilde, xB elde edildiğinde, KBA hesaplanabilir. Bu nedenle bu yöntemler gizlilik sağlamaz.

3) Saldırı direncini tekrarlanması: Bir tekrar saldırısında düşmanın geçerli bir mesajı yakalayıp hedef alıcıya tekrar göndereceğini unutmayın. Harn`ın protokolü aşağıdaki nedenlerle saldırıları tekrarladı. Alice`in Bob`a imzalı bir mesaj (mA, sA) gönderdiğini hayal edin. Mesaj ve imzası sırasıyla (14) ve (16) tarafından verilmektedir. SA`nın türetilmesinin KBA`ya ve w`ye bağlı olduğuna dikkat edin (15). Bununla birlikte, üçüncü bölümde gösterildiği gibi, w, Bob`un özel oturum anahtarıdır. Bu nedenle Bob, alınan mesaj mA tazedir. Benzer şekilde Alice, Bob`un gönderdiği mesajın güncelliğini doğrulayabilir.

9.5. Phan`in Protokolü

Bu bölümde, Phan [7] tarafından önerilen DHDSA protokolünün varyantlarını tanıtıyor ve analiz ediyoruz. Temel protokol adımları da Tablo 3`te gösterilmektedir.

Tablo 3 Phan`in Protokolü

Step

Alice

Bob

1

Generater Random

)

2

Generater Random w

3

Verify Signature ( of message

4

Verify Signature ( of message

9.5.1. Protokol

Phan`ın anlaşması, Harn`ın anlaşmasının bir değişikliği olarak görülebilir. Anlaşma, aşağıdaki tartışma farklıdır. Alice ve Bob, sırasıyla nA ve nB ek rasgele miktarlar üretir. Bu mesajlar mA, mB taşır ve paylaşılan bir anahtar oluşturmak için kullanılır. özellikle:

nA = yvA mod p

nB = ywB mod p (27)

Alice tarafından üretilen paylaşılan anahtarlar şunlardır:

KAB = nvB mod p = g xBvw mod p

KBA = mxABw mod p = gxAvw mod p (28)

Bob tarafından oluşturulan paylaşılan anahtar aşağıdadır:

KAB = mxAbw mod p = g xBvw mod p

KBA = nwA mod p = g xAvw mod p (29)

Phan protokolünün yB`si yerine nB`yi kullanın ve (28) `i (12) ile karşılaştırın. Aşağıda gösterilen alt bölümde bu, yB tarafından iyi bilinmektedir, ancak nB tarafından bilinmemektedir. Aynı nedenden ötürü, Bob (29) anahtarı tarafından üretilen akım, yA yerine nA`ya bağlıdır.

9.5.1. Güvenlik Analizi

Bilinen anahtar güvenliği ile ilgili olarak, Phan`ın protokolü Harn`ın protokolüyle aynı işleve sahiptir. Özellikle, rakip paylaşılan oturum anahtarını (KAB gibi) biliyorsa, diğer paylaşılan oturum anahtarını (KBA) dijital olarak çıkarmak zordur.

Aşağıda Phan protokolünün gelişmiş gizlilik özelliklerini tartışıyoruz. Uzun vadeli özel anahtar bu işlevi tehlikeye atarsa, önceden oluşturulmuş oturum anahtarının korunması gerekir. Bu nedenle, xA`nın yok edildiğini varsayalım. (28) ve (29) `da düşmanın KBA`sını hesaplamak için w bilinmelidir. Ancak, bölüm III`ten Bob tarafından yapıldığını ve asla Alice`e gönderilmediğini hatırlayarak (bu yüzden yakalandı). Lütfen düşmanın yine de müdahale edebileceğini unutmayın. mBw, g`ye eşittir. Bununla birlikte, mB ve g`yi bilmek w`yi hesaplamak zordur (ayrık logaritma problemi).

Benzer şekilde, xB yok edilirse, rakibin KAB`ını hesaplamak için hala v`yi bilmeniz gerekir. Ancak, v Alice tarafından oluşturulmuşsa, asla Bob`a gönderilmeyecek ve bu nedenle yakalanacaktır. Bu nedenle, Phan protokolünün iletme gizliliğini sağlar.

9.6. Ayrık Logaritma Atağı

Young ve Yung ikilisinin çalışmalarında, kleptografi alanında en çok işi yaptılar ve burada Diffie-Hellman anahtar değişimine [9] saldırılarının basitleştirilmiş bir versiyonunu tartışacaklar. Bu saldırı senaryosuna göre aktif kriptografik sistemin üreticisi, ürettiği sistemin kullanıcılarından gizli bilgileri sızdırmaya çalışır. Bu işlem, herkese açık olarak yayınlanacak bir genel anahtar oluştururken arka kapı bilgilerini gizlemeye çalışacaktır. Bu amaçla, saldırgan ürettiği her sistem için en az 160 benzersiz kimlik değeri yerleştirdi. Mekanizma, kimlik değeri ile gizli anahtarı birleştirerek bir karma işlevi sağlar ve böylece aşağıdaki anahtarı hesaplar.

Bu saldırıda saldırgan, Alice ile Bob arasındaki Diffie-Hellman anahtar değişim protokolünün çıktısı olan açık anahtarı elde edebilecek. Taraflardan birine bir Truva atı yerleştiren bir saldırgan, genel anahtarı açığa çıkarmak için yeterlidir. Bu saldırı senaryosunda Truva atı Alice`nin cihazında bulunuyor.

9.6.1. Atak mekanizması:

(p ve q asal sayıları (p = 2q + 1); ∗ bir üretici ve sırası 𝑞; 𝐻: {0,1} ∗ → 𝑍𝑞; 𝑌 = 𝑝 mod p saldırganın genel anahtarı ve 𝑋 anahtarı; 𝐴𝑖 = 𝑔 ai mod p Alice`nin açık ve gizli anahtarları ; 𝑌 Alice`nin cihazında bulunur.)

1. Alice rasgele 𝑎1 ∈ Zq seçip 𝐴1 = 𝑔𝑎1 of değerini hesaplayarak Bob`ya gönderir. Bob rastgele 𝑎1 ∈ Zq seçer ve ardından 𝐵1 = 𝑔1 𝑚𝑜𝑑 p değerini hesaplayarak Alice`ye gönderir.

2. Alice ve Bob, K1 = 𝑎1𝑏1𝑏 mod p işlevinin açık anahtarını hesaplar. Alice, 𝑎1 değerini bir sonraki anahtar değişikliğine kadar saklayacaktır.

3. Alice bir sonraki anahtar değişikliğini hesapladığında 𝑎2 = 𝑎2 𝑚𝑜𝑑 p değerini hesaplamak için a2 = 𝐻 (𝐼𝐷 || 𝑎1 𝑚𝑜𝑑 p) hesaplanarak Bob`ya gönderilir. Bob 𝑏2∈𝑍𝑞 rastgele seçim, 𝐵2 = 𝑔

𝑏2 𝑚𝑜𝑑 𝑝 değerini hesaplar ve Alice`ye gönderir.

4. Alice ve Bob 𝐾2 = 𝑔 𝑎2𝑏2 𝑚𝑜𝑑 𝑝 ortak anahtarını hesaplar.

9.6.2. Saldırı

Saldırgan, trafik kaydı 𝐴𝑖 ve 𝐵𝑖 değerlerini pasif olarak dinler ve Alice ile Bob arasındaki K2`yi elde etmek için kullanır.

1. 𝐴1 ve 𝐵2 değerini ele geçirir ve 𝐴1𝑋 𝑚𝑜𝑑 𝑝 hesaplar.

2. Saldırgan ID`yi bildiğinden 𝑎2 = (𝐼𝐷||𝑌 𝑎1 𝑚𝑜𝑑 𝑝) değerini hesaplar.

3. 𝐵2 𝑎2 𝑚𝑜𝑑 𝑝 hesaplayarak 𝐾2 ortak anahtarını elde eder.

Not: Bu saldırı yöntemine (𝑡, 𝑡 + 1) -thief saldırısı adı verilir, bu da anahtarın 𝑡 + 1 genel anahtardan çıkarılabileceği anlamına gelir.

9.7. Diffie-Hellman (Ortadaki Adam)

Diffie-Hellman, anahtar değişimi için kullanılır. Bob ve Alice iki değer (g ve p) üzerinde hemfikirdir, burada p asal sayıdır. Sonra Bob ve Alice rastgele iki sayı (a ve b) üretir ve değerleri değiştirir. Maalesef ortadaki kişi saldırıya açık ve Eve iki anahtar ürettiğinde biri Bob`a, diğeri Alice`e verilecek:

g: 15 (a shared value), n: 1009 (a prime number)

Eve`s value: 7

== Random value generation ===

Alice calculates:

a (Alice random): 5

Alice value (A): 607 (g^a) mod p

Bob calculates:

b (Bob random): 9

Bob value (B): 280 (g^b) mod p

==Alice sends value to Eve ===

Eve takes Alice`s value and calculates: 968

Bob gets Eve`s value and calculates key of: 206

==Bob sends value to Eve ===

Eve takes Bob`s value and calculates: 540

Alice gets Eve`s value and calculates key of: 540

9.7.1. Method

Bu durumda, Eve hangi değeri alırsa alsın, Bob ve Alice`in rastgele sayılarına göre bir değer döndürecektir.

Örneğin, g = 15 ve p = 1011 ve Alice rastgele bir 5 değeri kullanıyorsa, Alice anahtar için aşağıdakileri hesaplayacaktır:

A=155 mod 1011 = 114

Bob rastgele 9 değerini alırsa, Bob şunları hesaplayacaktır:

B=159 mod 1011 = 462

Eve tünelde Alice`in değerini değiştirerek şunu verir:

1147 mod 1011 = 402

Alice, 402 değerini alır. Şunların anahtarını hesaplar:

KeyAlice = 4025 mod 1011 = 636

Bob 426 değerini alır ve şunun anahtarını hesaplar:

KeyBob = 4629 mod 1011 = 483

Bu elbette yanlış çünkü Diffie-Hellman yöntemi de aynı değeri sağlamalıdır. Ancak, Eve aracıdır, bu nedenle temelde mesajın şifresini çözebilen ve yeniden şifreleyen iki anahtarı vardır.

DF için aşağıda örnek kod yer almaktadır:

import random

import base64

import hashlib

import sys

g=15

p=1011

a= 5

b = 9

eve = 7

message=21

A=(g**a) % p

B=(g**b) % p

Eve1 = (A**eve) % p

Eve2 = (B**eve) % p

Key1= (Eve1**a) % p

Key2= (Eve2**b) % p

print(`g: `,g,` (a shared value), n: `,p, ` (a prime number)`)

print(`\n== Random value generation ===`)

print(`\nAlice calculates:`)

print(`a (Alice random): `,a)

print(`Alice value (A): `,A,` (g^a) mod p`)

print(`\nBob calculates:`)

print(`b (Bob random): `,b)

print(`Bob value (B): `,B,` (g^b) mod p`)

print(`\n==Alice sends value to Eve ===`)

print(`Eve takes Alice\`s value and calculates: `,Eve1)

print(`Alice gets Eve\`s value and calculates key of: `,Key1)

print(`\n==Bob sends value to Eve ===`)

print(`Eve takes Bob\`s value and calculates: `,Eve2)

print(`Bob gets Eve\`s value and calculates key of: `,Key2)

10. Sonuç

Bu makalede üç güvenlik analizi anlatılmıştır. Entegre DH-DSA protokolünün türü. Özellikle, gelişmiş gizlilik, bilinen temel güvenlik ve tekrar saldırı direnci işlevlerine odaklanıyoruz. Land`in anlaşması ileri gizlilik sağlamaz ve tekrar saldırılara karşı savunmasızdır. Bunun nedeni, oluşturulan oturum anahtarlarının birbirinden bağımsız olmasıdır. Bu nedenle, düşman ödün verirse, bir oturum anahtarı herkese açık olarak değiş tokuş edilen mesajlara dayanır, böylece diğer oturum anahtarları kolayca tanımlanabilir. Harn`ın protokolü bilinen temel güvenlik ve tekrar saldırılara karşı direnç sağlar, ancak

Yüksek düzeyde mahremiyet yoktur. Son olarak, Phan`ın protokolü yukarıda bahsedilen üç güvenlik özelliğine de sahiptir. Gelecekteki araştırmalarda, anahtar güncelleme, tehditler (bilinmeyen anahtar paylaşım saldırıları gibi) gibi diğer güvenlik işlevlerini göz önünde bulundurarak DH-DSA protokolünü ve türevlerini incelemeyi planlanmaktadır [14].

Referanslar

Genel referanslar

Gollman, Dieter (2011). Bilgisayar Güvenliği (2. baskı). Batı Sussex, İngiltere: John Wiley & Sons, Ltd. ISBN 978-0470741153.

Williamson, Malcolm J. (21 Ocak 1974). Sonlu bir alan kullanarak gizli olmayan şifreleme (PDF) (Teknik rapor). İletişim Elektroniği Güvenlik Grubu. Erişim tarihi: 2017-03-22.

Williamson, Malcolm J. (10 Ağustos 1976). Daha Ucuz Gizli Olmayan Şifreleme Üzerine Düşünceler (PDF) (Teknik rapor). İletişim Elektroniği Güvenlik Grubu. Erişim tarihi: 2015-08-25.

Gizli Olmayan Şifreleme Tarihi JH Ellis 1987 (28K PDF dosyası) ( HTML sürümü)

Açık Anahtarlı Şifrelemenin İlk On Yılı Whitfield Diffie, IEEE Bildirileri, cilt. 76, hayır. 5, Mayıs 1988, s: 560–577 (1.9MB PDF dosyası)

Menezes, Alfred; van Oorschot, Paul; Vanstone, Scott (1997). Uygulamalı Kriptografi El Kitabı Boca Raton, Florida: CRC Press. ISBN 0-8493-8523-7. ( Çevrimiçi olarak mevcuttur )

Singh, Simon (1999) Kod Kitabı: Mary Queen of Scots`tan kuantum kriptografiye gizliliğin evrimi New York: Doubleday ISBN 0-385-49531-5

Açık Anahtar Şifrelemesine Genel Bakış Martin E. Hellman, IEEE Communications Magazine, Mayıs 2002, s. 42–49. (123kB PDF dosyası)

Kriptoanaliz Referans

[1] W. Stallings, Cryptography and Network Security: Principles and Practices, 7th edition, Pearson, 2016.

[2] W. Diffie and M. Hellman, “New directions in cryptography,” IEEE Transactions on Information Theory, vol. 22, no. 6, 1976, pp. 644-654.

[3] B. Arazi, “Integrating a key distribution procedure into the digital signature standard,” Electronics Letters, vol. 29, no. 11, 1993, pp. 966- 967.

[4] K. Nyberg and R. A. Rueppel, “Weaknesses in some recent key agreement protocols,” Electronics Letters, vol. 30, no. 1, 1994, pp. 26- 27.

[5] D. Adrian, et al., “Imperfect forward secrecy: How Diffie-Hellman fails in practice,” Proc. 22nd ACM SIGSAC Conference on Computer and Communications Security (CSS), Denver, USA, Oct. 2015, pp. 5-17.

[6] L. Harn, M. Mehta, and W.-J. Hsin, “Integrating Diffie-Hellman key exchange into the digital signature algorithm (DSA),” IEEE Communications Letters, vol. 8, no. 3, 2004, pp. 198-200.

[7] R. C.-W. Phan, “Fixing the integrated Diffie-Hellman-DSA key exchange protocol,” IEEE Communications Letters, vol. 9, no. 6, 2005, pp. 570-572.

[8] J. Liu and J. Li, “A better improvement on the integrated Diffie-Hellman-DSA key agreement protocol,” International Journal of Network Security, vol. 11, no. 2, Sept. 2010, pp. 114-117.

--

--