Açık anahtar altyapısında (Public Key Infrastructure) sayısal imza, public ve private anahtar çiftlerinden private ile veriye dijital ortamda vurulan elektronik bir mühürdür. Sayısal imzalar göndericinin kimliğinin inkâr edilemez şekilde teyit edilmesini ve verinin bütünlüğünün kontrolünü sağlar.
Sayısal imza, imzalayacak tüzel veya gerçek kişiye ait sertifikaya bağlı private anahtar ile, imzalanacak verinin belirli fonksiyonlara tabii tutulması sonucunda oluşur. İşleyişi kısaca özetlemek için öncelikle kriptografik algoritmalardan olan özet fonksiyonlarından bahsetmek gerekecektir.
Özet fonksiyonlar, bir mesajın uzunluğu ne olursa olsun; kullanılan fonksiyona göre aynı uzunlukta parmak izi (message digest) oluşturan fonksiyonlardır. Aynı verinin aynı özet fonksiyonu ile işleme tabii tutulması her zaman aynı çıktıyı verecek olmasıyla birlikte; eğer iyi bir özet fonksiyonu kullanılıyorsa verideki tek bitlik bir değişiklik bile özette içerik olarak bambaşka bir çıktıya sebep olacaktır. Özet fonksiyonlar ile tüm verinin şifrelenmesinin önüne geçilerek, kaynak kullanımının ve hareket edecek toplam verinin boyutunun düşürülmesi sağlanır. Bu sayede daha az kaynak ve bant genişliği kullanılabilir. Özet fonksiyonların en büyük özelliği ise özet verisinden orijinal verinin elde edilemiyor olmasıdır.
Bir verinin imzalanması, önce o verinin özet fonksiyonu ile dijital özetinin çıkartılması akabinde oluşan özet çıktının anahtar çiftlerinden private anahtar ile şifrelenmesi anlamına gelmektedir.
Bu noktada kullanılacak özet fonksiyonun doğru seçilmesi gerekmektedir. Uzun yıllar boyunca SHA-1 ve MD5 algoritmaları kullanımdayken artık bu algoritmalar özetin, orijinal veriye döndürülemezliği açısından yeterli görülmemektedir. Şimdi bu özet algoritmalara kısaca göz atalım.
1991 yılında Ron Rivest tarafından tasarlanmıştır. Giriş verisini 512-bit lik bloklar halinde işleyip, 128-bit lik çıktı üretmektedir. 2004 yılında, collision a karşı güvenli olmadığı kamuoyuna duyurulmuştur. Günümüzde kullanılmamaktadır.
SHA özetleme algoritması NSA tarafından tasarlanmış ve NIST (National Institute of Standards and Technology) standardı olarak yayımlanmıştır. Kriptografik algoritmalarda karşı karşıya gelinen en önemli problemlerden biri çakışma (collision)dır. Collision, farklı verilerin kriptografik fonksiyonlara tabii tutulduktan sonra aynı çıktıyı vermeleri durumuna denir. SHA algoritması da bu sorunun önüne geçilmesi adına zaman içerisinde geliştirilerek dönemin mevcut computing power ına karşı yeterli seviyede collision resistant bir hale getirilmeye çalışılmıştır.
Maksimum 264-1 bitlik mesajdan 160 bit’lik özetleme değeri üretir. 2010 yılından itibaren güvenli kabul edilmemektedir.
SHA-2 ailesi, 2001 yılında yayınlanmış olup 6 özet fonksiyonuna sahiptir. Bunlar 224, 256, 384, 512, SHA-512/224, SHA-512/256 dır. Güvenli şifre özeti için Unix/Linux üreticileri SHA-256/512 kullanırken; bitcoin gibi birçok kripto para birimi işlemleri, doğrulama yapmak, para iletimini kanıtlamak ve hisseleri kapatmak için SHA-256 kullanmaktadır.
En yaygınlarından SHA-256 ve SHA-512 arasındaki temel farklara değinecek olursak. SHA-256, 264 bit e kadar girdileri, 512-bit lik parçalara ayırarak işlemekte ve çıktı olarak 256-bit uzunluğunda veri üretmektedir.
Öte yandan SHA-512, 2128 bit e kadar olan girdileri 1024-bit lik parçalara ayırıp işlemekte ve 512-bit uzunluğunda çıktılar üretmektedir. SHA-512 kullanılması durumunda 256-bit, SHA-256 kullanılması durumunda, 128-bit collision a karşı dayanıklılık sağlanacaktır. Şu anki ve öngörülebilir teknolojik ilerlemeyi göz önüne alırsak ikisi de yeterli seviyede güvenli sayılmaktadır. SHA-256 32-bitlik işlemcilerde genelde daha hızlı çalışırken; SHA-512, 64-bit işlemcilerde daha performanslı çalışmaktadır. Ancak kuantum hesaplama ile SHA-512 özet algoritmasının yaygınlaşması beklenmektedir. Günümüzde, çıktısının daha kısa olması ve bant genişliğinin daha efektif kullanılması adına SHA-256 tercih sebebidir.
Bilgi Teknolojileri ve İletişim Kurumu (BTK) tarafından hazırlanan “Elektronik İmza ile İlgili Süreçlere ve Teknik Kriterlere İlişkin Tebliğ’de Değişiklik Yapılmasına Dair Tebliğ” Resmi Gazete’de yayımlanarak yürürlüğe girdi. Tebliğ ile ile birlikte elektronik imza oluşturma ve doğrulama verileri ile özetleme algoritmalarında daha gelişmiş ve güvenli SHA-2 ve SHA-3 uygulamasına geçildi. Elektronik Sertifika Hizmet Sağlayıcılar (ESHS) ler ise 1 yıl içerisinde yeni standartlara uyum sağlamak ile yükümlü olacaklar. Düzenleme sonrası geçerli kılınan algoritma ve parametreler 31 Aralık 2022’ye kadar geçerli olacak.
Kullanılan Donanım Özellikleri:
Özellikle ödeme sistemlerinde hassas verilerin şifrelenmesinde kullanılan DES algoritmasının geçmişten günümüze hangi değişikliklere uğrayarak geliştiğine göz atalım.
DES in kısaca tarihçesinden bahsetmek gerekirse, 1970 lerin başında IBM tarafından geliştirilmiş; 1977 yılında NSA tarafından standart haline getirilmiştir. Single DES 64-bit uzunluğa sahip olmakla birlikte çalışma mantığı girdiyi 64-bit lik bloklara ayırıp 56-bit lik bir anahtarla şifrelemektir.
56-bit lik bir anahtar ile şifrelemesindeki kasıt 64-bit lik anahtarın sadece 56-bit inin şifrelemede kullanılmasıdır. Geri kalan 8-bit parity bit olarak tanımlanmaktadır. RSA Security tarafından 1997 yılında başlatılan 10.000$ ödüllü bir yarışmada DESCHALL project tarafından kırılıp güvensizliği ispatlanmıştır. Dolayısıyla günümüzde güvenli kabul edilmemektedir.
Algoritmanın ikinci etabındaki gelişme ise 2 adet DES anahtar ile arka arkaya girdiyi şifreleme mantığına sahip Double DES tir. Girdi 64-bit lik bloklara bölünür ve anahtar uzunluğunun 112-bit i şifreleme için kullanır. Ancak Meet-in-the-middle ataklarına karşı zafiyetinden dolayı 257 deneme ile kırılabilmektedir. Günümüzde kullanılmamaktadır.
IBM tarafından 1999 yılında geliştirilen Triple DES (3DES) ise meet-in-the-middle ataklarının önüne geçmiştir. 2 tanesi birbirinden farklı 64-bit lik toplamda 3 adet DES anahtar ile şifrelenmiş veriyi meet-in-the middle atağı ile yakalamak için 2112 operasyon gerekmektedir. Ayrıca bu algoritmada 3 anahtarın da birbirinden farklı olduğu 3-length 3DES metodu da vardır. Ancak bu metot da Meet-in-the-middle ataklarına karşı 2112 operasyonluk bir koruma sağlamaktadır. Genel olarak 2-length 3DES yerine 3-length 3DES metodunun kullanılma sebebi brute force ataklara karşı daha güvenilir olmasıdır.
-