Dijital imza, dijital verilerin gerçekliğini ve bütünlüğünü doğrulamak için kullanılan bir şifreleme mekanizmasıdır. Bunu sıradan el yazısı imzaların daha yüksek düzeyde karmaşıklık ve güvenlik protokolleri içeren bir versiyonu olarak düşünebiliriz.

Basit bir ifadeyle, dijital imzayı bir mesaja veya belgeye eklenen bir kod olarak tanımlayabiliriz. Dijital imza oluşturulduktan sonra imza kodu, iletilen mesajın göndericiden alıcıya giden yolda müdahaleye uğramadığını güvence altına alır.

Kriptografi kullanarak iletişimi güvence altına alma kavramı eski zamanlara dayansa da, dijital imza şemaları 1970'lerde - Açık Anahtarlı Şifrelemenin (Public-Key Cryptography, PKC) gelişmesi sayesinde kullanılabilir hale geldi. Bu nedenle, dijital imzaların nasıl çalıştığını öğrenmek için önce karma işlevlerin (hash functions) ve açık anahtar şifrelemesinin temellerini anlamamız gerekir.

Hash fonksiyonları

Hashing, dijital imza sisteminin temel unsurlarından biridir. Hashing işlemi, herhangi bir boyuttaki verinin sabit boyutlu bir çıktıya dönüştürülmesini içerir. Bu işlem, hash fonksiyonları olarak bilinen özel bir tür algoritma tarafından yapılır. Bir hash fonksiyonu tarafından üretilen çıktı, hash değeri veya mesaj özeti olarak bilinir.

Kriptografi ile birleştirildiğinde, benzersiz bir dijital parmak izi olarak işlev gören bir hash değeri (özet) oluşturmak için kriptografik hash fonksiyonları olarak adlandırılan işlevler kullanılabilir. Bu işlem, iletilen verilerdeki (mesaj) herhangi bir değişikliğin tamamen farklı bir çıktı (hash değeri) ile sonuçlanacağı anlamına gelir ve kriptografik hash fonksiyonlarının dijital verilerin gerçekliğini doğrulamak için yaygın olarak kullanılmasının nedeni de budur.

Açık anahtarlı şifreleme Public-Key Cryptography - PKC)

Açık anahtar şifrelemesi veya PKC, bir ortak anahtar ve bir özel anahtar olmak üzere bir anahtar çifti kullanan şifreleme sistemidir. İki anahtar da matematiksel olarak ilişkilidir ve hem veri şifreleme hem de dijital imzalar için kullanılabilir.

Bir şifreleme aracı olarak PKC, simetrik şifrelemenin eski yöntemlerinden daha güvenlidir. Eski yöntemler bilgiyi şifrelemek ve şifresini çözmek için aynı anahtara güvenirken, PKC ortak anahtarla veri şifrelemesine ve buna karşılık gelen özel anahtarla veri şifresinin çözülmesine izin verir. Başka bir deyişle bir anahtarla veriyi şifrelerken diğer bir anahtarla da şifreyi çözer.

PKC yapısı dijital imzaların üretilmesinde de uygulanabilir. Temelde süreç, imzalayanın özel anahtarıyla birlikte bir mesajın (veya dijital verilerin) hash edilmesinden oluşur. Mesaj ulaşıldığında da alıcı, imzalayan tarafından sağlanan ortak anahtarı kullanarak imzanın geçerli olup olmadığını kontrol edebilir.

Dijital imzalar şifreleme içerse de her zaman bu süreç geçerli olmayabilir. Örneğin, Bitcoin blok zinciri PKC ve dijital imzaları kullanır ancak çoğu kişinin bildiğinin aksine bu süreçte şifreleme işlemi yoktur. Teknik olarak Bitcoin, işlemlerin kimliğini doğrulamak için Eliptik Eğri Dijital İmza Algoritmasını (ECDSA) kullanır.

Dijital imzalar nasıl çalışır?

Kripto paralarda dijital imzalama süreci üç temel adımdan oluşur: hashleme, imzalama ve doğrulama.

Verileri hashleme

Sürecin ilk basamağı dijital veriyi hashlemektir. Veri, hash değeri oluşturulacak şekilde hashing algoritmasına girer ve şifrelenir. Verilerin boyutlarının değişebileceğini söylemiştik. Ancak algoritmadan geçen her veri aynı hash uzunluğuna sahip olur. Hash fonksiyonunun en önemli özelliği de budur.

Bununla birlikte, dijital imza üretmek için verilerin hash edilmesi bir zorunluluk değildir. Çünkü hiç hashlenmemiş bir mesajı imzalamak için de özel bir anahtar kullanılabilir. Ancak kripto para birimleri için veriler her zaman hashlenir. Çünkü hashleme sayesinde elde edilen sabit uzunluktaki hash değerleri tüm süreci kolaylaştırır.

İmzalama

Bilgiler hash edildikten sonra mesajı gönderenin imzalaması gerekir. Açık anahtarlı şifrelemen işlemi bu anda devreye girer. Her biri kendi özel mekanizmasına sahip birkaç tür dijital imza algoritması vardır. Ancak esasen, hashlenecek mesaj özel bir anahtarla imzalanır ve mesajın alıcısı daha sonra ilgili ortak anahtarı (imzalayan tarafından sağlanan) kullanarak doğruluğu kontrol edilir.

Başka bir deyişle imzalama işleminde özel anahtar kullanılmazsa mesajın alıcısı, doğrulama işlemi için gereken ortak anahtarı kullanamaz. Hem genel hem de özel anahtarlar mesajı gönderen tarafından oluşturulur ancak alıcı ile yalnızca ortak anahtar (public key) paylaşılır.

Dijital imzalar her mesajın içeriğiyle doğrudan ilgilidir. Aynı olan el imzalarının aksine dijital imzalar her mesajda özgün olarak yeniden oluşturulur.

Doğrulama

Doğrulamanın son adımına kadar tüm süreci göstermek için bir örnek ele alalım. Ayşe’nin Veli’ye bir mesaj yazdığını, bu mesajı hash ettiğini ve ardından dijital bir imza oluşturmak için hash değerini kendi özel anahtarıyla birleştirdiğini hayal edin. Yaratılan bu imza, söz konusu mesajın benzersiz bir dijital parmak izini oluşturur.

Veli mesajı aldığında Ayşe tarafından sağlanan açık anahtarı kullanarak dijital imzanın geçerliliğini kontrol edebilir. Bu şekilde Veli, imzanın Ayşe tarafından yaratıldığından emin olabilir çünkü yalnızca o ortak anahtara karşılık gelen özel anahtara sahiptir (en azından biz bunu bekliyoruz).

Bu nedenle, Ayşe’nin özel anahtarını gizli tutması çok önemlidir. Başka bir kişi Ayşe’nin özel anahtarını ele geçirirse dijital imzalar oluşturabilir ve Ayşe gibi davranabilir. Bitcoin bağlamında bu, birinin izin almadan Bitcoin'lerini transfer edebilmek veya harcamak için Ayşe’nin özel anahtarını kullanabileceği anlamına gelir.

Dijital imzalar neden önemlidir?

Dijital imzalar genellikle üç amaç kullanılır: veri bütünlüğü, kimlik doğrulama ve reddedilememe.

    Veri bütünlüğü: Veli, Ayşe’nin mesajının iletim sürecinde manipüle edilmediğini doğrulayabilir. Mesajdaki herhangi bir değişiklik yepyeni bir imza üretecektir.

    Kimlik doğrulama: Ayşe’nin özel anahtarı gizli tutulduğu sürece Veli, dijital imzaların Ayşe tarafından yaratıldığını teyit edebilmek için özel anahtarını kullanabilir.

    Reddedilememe. İmza oluşturulduktan sonra Ayşe verinin kendisi tarafından imzalandığını reddedemez.

Kullanım Alanları

Dijital imzalar, çeşitli dijital belgelere ve sertifikalara uygulanabilir. Yaygın olarak kullanıldığı alanlardan bazıları şunlardır:

    Bilişim teknolojisi: İnternet iletişim sistemlerinin güvenliğini artırmak.

    Finans: Dijital imzalar denetimlere, gider raporlarına, kredi sözleşmelerine ve çok daha fazlasına uygulanabilir.

    Hukuk: Resmi belgeler de dahil olmak üzere her türlü iş sözleşmesinin ve yasal anlaşmanın dijital olarak imzalanması.

    Sağlık hizmetleri. Dijital imzalar, reçetelerin ve tıbbi kayıtlardaki sahteciliği önleyebilir.

    Blok zinciri. Dijital imza yapıları, kripto paraların yalnızca gerçek sahipleri tarafından kullanılabilmesini sağlar (özel anahtarları tehlikeye girmediği sürece).

 

Sınırlamalar

Dijital imza yapılarının karşılaştığı başlıca zorluklar:

    Algoritma: Dijital imza şemasında kullanılan algoritmaların, güvenilir hash fonksiyonları ve kriptografik sistemin seçimi de dahil, kalitesi önemlidir.

    Uygulama: Algoritmanın uygulandığı uygulama kötü ise güvenlik açıkları ortaya çıkacaktır.

    Özel anahtar (Private Key): Özel anahtarlar sızdırılırsa veya bir şekilde tehlikeye girerse, özgünlük ve reddedilemezlik özellikleri ortadan kalkar. Kripto para kullanıcıları için özel anahtarı kaybetmek ciddi finansal kayıplar doğurabilir.

Elektronik imzalar ve dijital imzalar

Dijital imzalar, elektronik belge ve mesajları imzalamak için kullanılan elektronik imzaların bir türüdür. Yani tüm dijital imzalar elektronik imzadır ama her elektronik imza dijital imza değildir.

Bu farkı doğuran faktör ise kimlik doğrulama yöntemidir. Dijital imzalar hash fonksiyonları, açık anahtarlı şifreleme gibi kriptografi kullanır.