Yazan : Şadi Evren ŞEKER

Bilgisayar bilimlerinde, özellikle veri güvenliği konusunda eş zamanlı olarak imza değişimini öngörür. Bu yöntemde amaç iki kişinin de bir mesajı doğru olarak imzaladığından emin olmaktır.

Problemin Tanımı

Problem basitçe iki tarafın bir kontratı imzalaması ve işlem bittiğinde iki tarafta da karşı taraf tarafından imzalanmış birer kopyanın olmasını hedefler.

Örneğin bir kontratı iki tarafın imzalaması gerektiğini düşünelim.

Taraflarda, kontratın birer kopyası bulunuyor. Ayrıca taraflar kendi imzalarını biliyorlar ve bu imzayı kullanarak kontratı imzalayabiliyorlar. Taraflar, imzalı kontratı karşı tarafa ilettiklerinde kendilerine düşen sorumluluğu yerine getirmiş oluyorlar.

Yukarıdaki şekilde gösterildiği üzere Bekir, kendi imzası ile kontratı imzalayıp Ali’ye gönderdiği anda işlem bitmiş oluyor.

Burada iki farklı problem ortaya çıkabilir. Ali, Bekir’den gelen kontratı alıp kendi göndermesi gereken imzalı kontratı göndermeyebilir. Veya kendi imzası ile imzalaması gereken kontratı yanlış ve sahte bir anahtar ile imzalayarak Bekir’e yollayabilir.

Problemin Çözümü

Problemin çözümünde iki yol izlenebilir.

Güvenilir Kişi (Trusted Authority)

Problemin çözümündeki ilk ve basit olan yöntem, iki tarafın birden güvendiği üçüncü bir otoritenin kullanılmasıdır.

Bu yöntemde taraflar kontratlarını imzalayarak üçüncü kişiye yollarlar. Üçüncü kişi, iki taraftan da kontratları aldıktan sonra taraflara, karşı tarafın kontratını geçirir. Sonuçta herkes karşı tarafın kontratını almış olur.

Güvenilir Kişi olmayan çözüm (yüz yüze çözüm)

Bu iki farklı problemin de çözümü için bu yazının konusu olan eş zamanlı kontrat imzalama yöntemi (simultaneous contract signing) kullanılmaktadır.

Bu yöntemde her iki taraf da mesajı kendi anahtarı ile şifreledikten sonra mesajı şifreleyerek karşı tarafa geçirir.

Ardından iki tarafın da mesajı açması için karşılıklı olarak anahtarların verilmesi gerekir. Burada anahtar verilmesi sırasında taraflardan birisi önce davranıp diğerine anahtarı yollarsa, sonra yollaması gereken taraf anahtarı yollamayarak bir avantaj elde edebilir.

Bu problemin çözümü için taraflar anahtarları sırayla bit bit yollarlar. Örneğin şifreleme sırasında kullanılan algoritma DES olsun. Bu durumda 64 bit uzunluğunda bir anahtarın iki taraf arasında geçirilmesi gerekmektedir. Sırayla iki taraf bitleri yollar. Her bit sonrasında tarafların elindeki anahtar uzar ve dolayısıyla örneğin kaba kuvvet saldırısı ile şifreyi çözme şansı artar.

Mesela ilk biti yollayan Ali olsun ve dolayısıyla son biti yollayacak kişi Bekir olsun. Bu durumda Bekir, Ali’nin yolladığı bütün bitleri alıp anahtarının son bitini yollamasa bile Ali bu son biti 2 deneme ile tahmin edip (1 veya 0 olacağı için) kolayca şifreli mesajı açabilir.

Karşılaşılacak bir diğer sorun ise mesajlar açıldıktan sonra çıkan kontratların gerçekten imzalı birer kontrat olup olmadığıdır. Örneğin Ali karşı tarafa kontrat yerine başka bir mesaj yollamış olabilir ve hatta yolladığı mesaj yine bir kontrat olup bu mesajın altındaki imza kedisine ait olmayabilir.

Bu problemin çözümü için mesajlar iki parçaya bölünür. Bu mesajları örneğin DES ile şifreleyecek olursak iki bölüm için de farklı birer anahtar kullanılır. Mesajların ilk yarısı karşı tarafa iletildikten sonra anahtarlar değiştirilir. İki taraf da mesajların yarısını açıp doğru mesaj geldiğinden emin olur. Dolayısıyla taraflardan herhangi birisi karşı tarafı aldatmak için yanlış mesaj yollayamaz. Ayrıca mesajın henüz yarısı alındığı için mesajın bu yarım şekli iki tarafın da tam olarak işine yaramamaktadır.

Ardından ikinci mesaj yarıları değiştirilir ve ardından ikinci mesaj yarılarını açan anahtarlar bit bit değiştirilir.

Bu modelde gönderilen ve alınan mesajlarda hile yapmak isteyen bir taraf olursa ancak mesajın yarısında hile yapabilir.

Örneğin yukarıdaki haberleşme sırasında önce Bekir à Ali ardından Alià Bekir ardında tekrar Bekirà Ali ve en son BekiràAli iletişimi tasarlanmıştır. Bu tasarım itibariyle Ali, en son adımı gerçekleştirmese bile Bekir kontratın yarısını doğru olarak almış olur.

Bu örnekte yaşanan durum, sıfır bilgi ispatına (zero knowledge proof) benzetilebilir. Buradaki durumda mesajın yarısı doğru olarak alınmıştır ancak daha fazla mesaj çiftlerinin değiştirilmesi veya mesajın daha ufak parçalara bölünmesi durumunda mesajdaki hile yapılabilecek oran düşürülecektir. Hiçbir zaman %100 başarı elde edilemeyecek ancak başarı oranı yükselecektir.

Kontrat imzalamada ihmal teşrifatı kullanımı (oblivious protocol)

Yorumlar

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir