Kriptografik Anahtar Değişimi

Jan 01 2023
Daha önce simetrik ve asimetrik şifreleme arasındaki farkı tartıştık ve bugün anahtarların gerçekte nasıl değiş tokuş edildiğinden bahsedeceğiz. Genel olarak, kriptografik anahtar değişimi veya şifreli anahtar değişimi (EKE) protokolleri, iki tarafın sırrı herhangi bir üçüncü tarafa ifşa etmeden paylaşılan bir sır oluşturmasına izin vererek çalışır.

Daha önce simetrik ve asimetrik şifreleme arasındaki farkı tartıştık ve bugün anahtarların gerçekte nasıl değiş tokuş edildiğinden bahsedeceğiz.

Genel olarak, kriptografik anahtar değişimi veya şifreli anahtar değişimi (EKE) protokolleri, iki tarafın sırrı herhangi bir üçüncü tarafa ifşa etmeden paylaşılan bir sır oluşturmasına izin vererek çalışır. Bu genellikle açık anahtar şifrelemesi ve matematiksel algoritmaların bir kombinasyonu kullanılarak yapılır. Paylaşılan sır, daha sonra iki tarafın güvenli bir şekilde iletişim kurmasını sağlayan simetrik bir şifre için bir anahtar olarak kullanılabilir.

kullanım

Yöntem genel anahtarı kullandığından, doğal olarak yalnızca asimetrik şifreleme için geçerlidir, çünkü simetrik şifrelemede anahtarlar paylaşılmaz - önceden bilinir ve üzerinde anlaşmaya varılır.

Kriptografik anahtar değişimi, kriptografik anahtarları bir ağ üzerinden güvenli bir şekilde değiş tokuş etme yöntemidir. İki tarafın birbiriyle güvenli bir şekilde iletişim kurmak için kullanılabilecek paylaşılan bir sır oluşturmasına izin verdiği için, birçok kriptografik protokolün temel bir yönüdür.

Değişim, güvenli iletişim, güvenli çevrimiçi işlemler ve erişim kontrolü dahil olmak üzere çeşitli uygulamalarda kullanılır. Genellikle istemci ve sunucu gibi iki taraf arasında veya iki cihaz arasında güvenli bir bağlantı kurmak için kullanılır. Bu nedenle, herhangi bir dosyanın FTPS, HTTPS ve SFTP gibi protokoller üzerinden güvenli bir şekilde gönderilebilmesi için önce iletişim kuran iki tarafın bir anahtar değişimi yapması gerekir.

genel bakış

EKE'nin en genel biçiminde, en az bir taraf geçici (tek seferlik) bir genel anahtarı bir parola kullanarak şifreler ve ikinci bir tarafa gönderir, o da şifresini çözer ve birinci tarafla paylaşılan bir anahtar üzerinde anlaşmak için kullanır.

Bu şemanın Augmented-EKE adı verilen başka bir varyasyonu mevcuttur. Artırılmış yöntemlerin, bir sunucudan çalınan parola doğrulama verilerinin, saldırgan önce parolayı belirlemediği sürece (örneğin, çalınan verilere kaba kuvvet saldırısı gerçekleştirerek) istemci kılığına girmek için kullanılmamasını sağlama ek hedefi vardır.

En popüler iki anahtar değişim algoritması, RSA ve Diffie-Hellman'dır (şimdiki adıyla Diffie-Helmlman-Merkle). Bu iki anahtar değiş tokuş protokolünün ortaya çıkışının, özellikle iş açısından İnternet'in büyümesini hızlandırdığını söylemek muhtemelen fazla zorlama olmaz. Bunun nedeni, bu iki protokolün istemcilerin ve sunucuların yanı sıra sunucuların ve sunucuların güvenli olmayan bir ortam (İnternet) üzerinden kriptografik anahtarları değiş tokuş etmesine ve dolayısıyla elektronik olarak güvenli bir şekilde işlem yapmalarına izin vermesidir.

Son zamanlarda, eliptik eğri kriptografisinin ortaya çıkışı, ECDH (Eliptic Curve Diffie-Hellman) ve ECDHE (Eliptic Curve Diffie-Hellman Ephemeral) gibi yeni değişim protokollerini tanıttı.

DH-EKE olarak bilinen, yıllar boyunca birçok saldırıdan kurtulan ve geliştirilmiş varyasyonlara yol açan Diffie-Hellman ailesine odaklanacağız.

Diffie-Hellman

1976'da Whitfield Diffie ve Martin Hellman, Hellman'ın doktora öğrencisi Ralph Merkle tarafından geliştirilen kavramlara dayanan Diffie-Hellman anahtar değişimi (D–H) adlı bir kriptografik protokol yayınladı. Protokol, bir rakip bu iletişim kanalını izliyor olsa bile kullanıcıların gizli anahtarları güvenli bir şekilde değiş tokuş etmelerini sağlar. Mesajları şifrelemek ve şifresini çözmek için kullanılabilecek paylaşılan bir sır oluşturmak için sonlu bir alanda üs alma fikrine dayanır.

Diffie-Hellman anahtar değişimi işleminin bir örneğini burada bulabilirsiniz ve aşağıdaki şemada gösterildiği gibi:

Alice ve Bob, sonlu bir alan ve bu alan içinde bir asal sayı üzerinde anlaşırlar (bu, "katsayı" olarak bilinir). Diyelim ki GF(23), p sonlu alanını ve asal sayı 5, g'yi seçtiler .

  1. Alice gizli bir tamsayı olan “a”yı ve Bob gizli bir tamsayı olan “b”yi seçer. Bu tamsayılar, paylaşılan sırrı oluşturmak için kullanılacaktır.
  2. Alice, A = 5^a mod 23'ü hesaplar ve A'yı Bob'a gönderir. Bob, B = 5^b mod 23'ü hesaplar ve B'yi Alice'e gönderir.
  3. Alice, aşağıdaki hesaplamayı yaparak paylaşılan sırrı hesaplar: sharedSecret = B^a mod 23. Bob, paylaşılan sırrı aynı hesaplamayı kullanarak hesaplar: sharedSecret = A^b mod 23.
  4. Artık hem Alice hem de Bob, mesajları şifrelemek ve şifrelerini çözmek için bir anahtar olarak kullanabilecekleri paylaşılan bir sırra sahipler.

# Alice's side of thNote that in this example, the shared secret is the same for both Alice and Bob, even though they used different secret integers to generate it. This is because the shared secret is generated using a mathematical function that is commutative, meaning that the order of the operands does not affect the result. This property is what allows Alice and Bob to establish a shared secret without revealing their secret integers to each other.e key exchange

# Choose finite field and prime number
field = GF(23)
prime = 5

# Choose secret integer
secretA = 6

# Compute A and send to Bob
A = (prime ^ secretA) mod field
send A to Bob

# Receive B from Bob
B = receive from Bob

# Compute shared secret
sharedSecret = (B ^ secretA) mod field

# Bob's side of the key exchange

# Choose secret integer
secretB = 15

# Compute B and send to Alice
B = (prime ^ secretB) mod field
send B to Alice

# Receive A from Alice
A = receive from Alice

# Compute shared secret
sharedSecret = (A ^ secretB) mod field

Bu özellik, Alice ve Bob'un gizli tamsayılarını birbirlerine ifşa etmeden ortak bir sır oluşturmalarına izin veren şeydir.

DH değişiminin çalışmasının nedeni, ayrık logaritma problemini çözmenin zorluğuna dayanan ayrık logaritma kriptografisidir.

Kısaca, “g” ve “y”nin bilindiği, “p”nin bir asal sayı olduğu “g^x = y mod p” denkleminde “x” tamsayısını bulmayı içeren bir matematik problemidir. Bu problemin çözülmesi zor kabul edilir, çünkü "g", "y" ve "p" rasgele değerleri için "x" değerini bulmak için bilinen etkili bir algoritma yoktur.

Genel olarak, Diffie-Hellman yaygın olarak kullanılan ve etkili bir anahtar değişim protokolü olsa da, Eliptik Eğri Diffie-Hellman'ı (ECDH) mümkünse tercih edilebilir bir seçenek haline getiren birkaç pratik sınırlama vardır.

Eliptik Eğri Diffie-Hellman (ECDH)

Eliptik Eğri Diffie-Hellman (ECDH), sonlu bir alanda geleneksel üs alma yerine eliptik eğri kriptografisi kullanan Diffie-Hellman anahtar değişim protokolünün bir çeşididir. ECDH'nin sıradan Diffie-Hellman'a göre çeşitli avantajları vardır:

  1. ECDH daha verimlidir: Eliptik eğri operasyonları genellikle daha hızlıdır ve sonlu alan operasyonlarından daha az hesaplama gücü gerektirir, bu da ECDH'yi sıradan Diffie-Hellman'dan daha verimli kılar. Önceki makalede nasıl çalıştığı ve avantajları hakkında daha fazla bilgi edinin .
  2. ECDH daha güvenlidir: Belirli saldırı türlerine karşı daha dirençli olduğundan, eliptik eğri kriptografisinin genellikle sonlu alan kriptografisinden daha güvenli olduğu kabul edilir.
  3. ECDH anahtarları daha kısadır: Eliptik eğri işlemleri daha küçük sayılar kullandığından, ECDH anahtarları genellikle sıradan Diffie-Hellman anahtarlarından daha kısadır, bu da bunların iletilmesini ve saklanmasını kolaylaştırır.
  4. ECDH'nin daha küçük bir anahtar boyutu vardır: Eliptik eğri işlemleri daha verimli ve güvenli olduğundan, ECDH daha küçük bir anahtar boyutuyla sıradan Diffie-Hellman ile aynı düzeyde güvenlik sağlayabilir. Bu, belirli donanım aygıtı türleri gibi anahtar boyutunun sınırlayıcı bir faktör olduğu uygulamalarda özellikle yararlı olabilir.

Eliptik Eğri Diffie-Hellman Geçici (ECDHE)

Elliptic Curve Diffie-Hellman Ephemeral (ECDHE), geçici anahtarlar kullanan Elliptic Curve Diffie-Hellman'ın (ECDH) bir çeşididir.

ECDHE'de taraflar, ECDH'de olduğu gibi uzun ömürlü bir statik anahtar çifti kullanmak yerine, her oturum için yeni, kısa ömürlü bir anahtar çifti oluşturur. Bunun birkaç avantajı vardır:

  1. İyileştirilmiş güvenlik: ECDHE yalnızca tek bir oturum için kullanılan kısa ömürlü anahtarlar kullandığından, bir saldırganın önceki bir oturumdan bir anahtarı ele geçirip yeniden kullandığı yeniden oynatma saldırıları gibi belirli saldırı türlerine karşı daha dirençlidir.
  2. İletim gizliliği: ECDHE'de paylaşılan sır, oturumdan sonra atılan kısa ömürlü anahtarlardan türetilir. Bu, bir saldırgan geçici anahtarların bir kopyasını ele geçirse bile, paylaşılan sır artık bilinmediği için geçmiş iletişimin şifresini çözemeyeceği anlamına gelir.
  3. Basitleştirilmiş anahtar yönetimi: ECDHE'de her bir taraf, uzun ömürlü bir statik anahtar çifti yönetmek yerine her oturum için yeni bir anahtar çifti oluşturur. Bu, anahtar yönetimini basitleştirebilir ve anahtarın ele geçirilmesi riskini azaltabilir.