ELEKTRONĐK ĐMZA UYGULAMALARININ SÜREKLĐLĐĞĐ ĐÇĐN TASARIM KALIPLARININ KULLANILMASI

Benzer belgeler
Elektronik İmza ile İlgili Süreçlere ve Teknik Kriterlere İlişkin Tebliğ BİRİNCİ BÖLÜM. Genel Hükümler

ELEKTRONİK İMZADA GÜVENLİK VE STANDARTLAR

ELEKTRONĠK ĠMZA ĠLE ĠLGĠLĠ SÜREÇLERE VE TEKNĠK KRĠTERLERE ĠLĠġKĠN TEBLĠĞ

TODAİE edevlet MERKEZİ UYGULAMALI E-İMZA SEMİNERİ KASIM E-imza Teknolojisi. TODAİE Sunumu

ELEKTRONİK İMZA MEVZUATI

Bilgi Güvenliği Eğitim/Öğretimi

Yazılım Örüntüleri (SE 461) Ders Detayları

Güvenli Elektronik Belge Yönetim Sistemi İçin Temel Gereksinim: E-İMZA

ELEKTRONİK İMZA UZAKTAN EĞİTİM KAYNAK BİLGİ DÖKÜMANI

Daha komplike uygulamalar elektronik ticaret, elektronik kimlik belgeleme, güvenli e-posta,

Simetrik (Gizli) Kriptografik Sistemler Blok Şifreler Standartlaştırma. DES-Data Encryption Standard (Bilgi Şifreleme Standardı)

ITMS DAYS Information Technologies Management Systems Days

Yetkili Sayısal İmza Tasarımı ve Uygulama Çatısı 1

E-İmza Kavramı. Bilginin bütünlüğünü ve tarafların kimliklerinin doğruluğunu sağlayan sayısal imzaları da içermektedir.

Elektronik Đmza ve Güvenlik

E-İmza Oluşturma ve Doğrulama

DOKUZ EYLÜL ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ MÜDÜRLÜĞÜ DERS/MODÜL/BLOK TANITIM FORMU. Dersin Kodu: CSE 5065

KRİPTOLOJİYE GİRİŞ Ders 1. Yrd. Doç. Dr. Barış Koçer

E-İmza ve M-İmza. Hasan Hüseyin SUBAŞI. Danışman, Mühendis, MBA, PhD Adayı

Bakanlığımız Tüketici ve Rekabetin Korunması Genel Müdürlüğü'nce yürütülen,

T.C. MİLLİ EĞİTİM BAKANLIĞI BALIKESİR / BANDIRMA İLÇE MİLLİ EĞİTİM MÜDÜRLÜĞÜ. Büro Yönetimi ve Resmi Yazışma Kuralları Kursu

BİLİŞİM SİSTEMLERİ GÜVENLİĞİNDE YENİ EĞİLİMLER

Şifrebilimde Yapay Sinir Ağları

CENG 302 Yazılım Mühendisliği Yazılım Mimarisi - Devam. Alper UĞUR

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Yazılım Geliştirme Sürecinde OWASP Projeleri

MerSis. Bilgi Teknolojileri Yönetimi Danışmanlık Hizmetleri

T.C. KUZEY ANADOLU KALKINMA AJANSI. Elektronik Yazışma ve Belge Yönetim Sistemi Yönergesi

Kriptoloji Kavramları ve Kripto Analiz Merkezi Gökçen Arslan

AES (Advanced Encryption Standard)

YAZILIM MODELLEME VE TASARIM

e-yazışma Projesi TBD Kamu-BİB Aylık Bilgilendirme Toplantısı

ELEKTRONİK TİCARETTE BİLGİ GÜVENLİĞİ TERİMLERİ

E-imza, eimza, Elektronik İmza Kanunu, Yasası sayılı, numaralı, nolu kanun, yasa, imzalama, e imza ELEKTRONİK İMZA KANUNU. Kanun Numarası : 5070

Kanun 5070 sayılı Kanunun değişen maddeleri giriş tarihi , 17, 18, 19 8/2/2008 ELEKTRONİK İMZA KANUNU (1) BİRİNCİ KISIM

ELEKTRONİK İMZA KANUNU (1)

ELEKTRONİK İMZA KANUNU (1)

MADDE 1.- Bu Kanunun amacı, elektronik imzanın hukuki ve teknik yönleri ile kullanımına ilişkin esasları düzenlemektir.

T.C. ANKARA ÜNİVERSİTESİ BELGE YÖNETİMİ VE ARŞİV SİSTEMİ STRATEJİSİ

E-İmza Kavramı. Elektronik bilginin bütünlüğünü ve tarafların kimliklerinin doğruluğunu sağlar.

Bilişim Sistemleri. Modelleme, Analiz ve Tasarım. Yrd. Doç. Dr. Alper GÖKSU

Kurumlarda E-imzaya Yapılması Gerekenler TODAİE E Sunumu. Ferda Topcan Başuzman Araştırmacı ferdat@uekae.tubitak.gov.tr (312)

Güncel Kriptografik Sistemler

Kanun No Kabul Tarihi :

ULUSAL GRID ÇALIŞTAYI 2005

ULUSAL GRID ÇALIŞTAYI 2005

E-İmza Kavramı. Elektronik bilginin bütünlüğünü ve tarafların kimliklerinin doğruluğunu sağlar.

E-İmza Kavramı. Elektronik bilginin bütünlüğünü ve tarafların kimliklerinin doğruluğunu sağlar.

Yazılım İnşası ve Evrimi (SE 556) Ders Detayları

TÜBİTAK ULAKBİM ELEKTRONİK İMZA ENTEGRASYONU HİZMET ALIMI TEKNİK ŞARTNAMESİ

Nesnelerin İnterneti Güvenlik ve Güç Tüketimi. Özen Özkaya

Üniversitelerde Bilgi Güvenliği Eğitimi. Dr. Mehmet KARA TÜBİTAK - BİLGEM 26 Kasım 2011

Elektronik Hizmetler ve Elektronik İmza

İç Kontrol ve Risk Yönetimi Sisteminiz Stratejik Yönetim ve Planlama Sürecinize Katkı Sağlayabilir

Veritabanında Parola Saklamak için Algoritma Seçiminde Yapılan Yaygın Hatalar

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ EĞİTİM ÖĞRETİM YILI DERS KATALOĞU

Anahtar Bağımlı Bir Şifreleme Algoritması (IRON)

Sistem Güvenliği? BT Güvenliği? Bilgi Güvenliği? A.Levend Abay MSc, MBA, CISM, Mart 2014 Yıldız Teknik Üniversitesi. Levend Abay?

İleri Yazılım Mimarisi (SE 658) Ders Detayları

TÜBİTAK UEKAE ULUSAL ELEKTRONİK ve KRİPTOLOJİ ARAŞTIRMA ENSTİTÜSÜ

Veri Yapıları. Öğr.Gör.Günay TEMÜR Düzce Üniversitesi Teknolojis Fakültesi

İSTANBUL TEKNİK ÜNİVERSİTESİ ELEKTRİK-ELEKTRONİK FAKÜLTESİ ÖZET FONKSİYON TABANLI GÜVENLİ BİR RFID PROTOKOLÜNÜN FPGA ÜZERİNDE GERÇEKLENMESİ

YZM 2108 Yazılım Mimarisi ve Tasarımı

ĐSTEMCĐ SUNUCU SĐSTEMLER DERSĐ FĐNAL ÇALIŞMASI SORULAR YANITLAR

Yeni Nesil Ağ Güvenliği

Kurumsal bilgiye hızlı ve kolay erişim Bütünleşik Belge Yönetimi ve İş Akış Sistemi içinde belgeler, Türkçe ve İngilizce metin arama desteği ile içeri

RSA ANAHTAR DAĞITIMI VE RSA İLE DİJİTAL İMZA OLUŞTURMA

S. N ala l n n T OP OP A B Ğ Fatih i h A BL B AK K

BİLGİ GÜVENLİĞİ VE ÖZCÜK FONKSİYONLARI UYGULAMALARI

1. İŞLETMECİ BİLGİ GÜVENLİ YÖNETİM SİSTEMİ (BGYS) KURULACAK VE İŞLETECEKTİR.

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

Bankacılık İşlemlerinde Güvenli Elektronik İmza Kullanımı. Taner Kerman. Philip Morris SA Finans Direktörü Yönetim Kurulu Üyesi.

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

GAZİ ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI DOKTORA YETERLİK SINAVI UYGULAMA ESASLARI

Yapı Kredi Finansal Kiralama A. O. Ücretlendirme Politikası

VERİ YAPILARI DERS NOTLARI BÖLÜM 1 GİRİŞ. Yard. Doç. Dr. Deniz KILINÇ

Açık Anahtar Altyapısı Konusunda Araştırma, Geliştirme ve Uygulamalar 1

İLERİ SEVİYE BİLGİSAYARLI SAYISAL KONTROLLÜ (CNC) DİK İŞLEME TEZGÂHI KULLANMA ve PROGRAMLAMA EĞİTİMİ KURS PROGRAMI

Yapı ve Kredi Bankası A.Ş. Ücretlendirme Politikası

Stenografi ve Steganaliz. Hamza Duman / F.Ü. Yazılım Mühendisliği

T.C. ULAġTIRMA BAKANLIĞI Sivil Havacılık Genel Müdürlüğü ELEKTRONĠK YAZIġMA VE BELGE YÖNETĠM SĠSTEMĠ TALĠMATI SHT EBYS-1

ÇELİKEL A.Ş. Bilgi Güvenliği Politikası

Açık Anahtarlı Kriptografi ve Uygulamalar

Üniversite Sanayi İşbirliği Başarılı Uygulamalar Çalıştayı

Türkiye İş Kurumundan: TÜRKİYE İŞ KURUMU HİZMETLERİNİN ELEKTRONİK ORTAMDA YÜRÜTÜLMESİ HAKKINDA YÖNETMELİK. Resmi Gazete Sayısı. Resmi Gazete Tarihi

CISSP HAZIRLIK EĞĠTĠMĠ

ve diğer Yerel Mevzuat Kapsamında Zaman Damgası

SAMM ile Güvenli Yazılım Geliştirme

Statik Kod Analizi. Proceedings/Bildiriler Kitabı. SSE-CMM[3], ISO/IEC [3] gibi standartlarla. gereklidir.

ŞİFRELEME BİLİMİ. Prof. Dr. Şeref SAĞIROĞLU Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Maltepe/Ankara

Gezgin Etmen Sistemlerinin Başarım Ölçümü: Benzetim Tekniği

III. Gizli Anahtar Kriptografi

İSTANBUL AYDIN ÜNİVERSİTESİ SİSTEM ANALİZİ VE TASARIMI KADİR KESKİN ERİM KURT YAZILIM GEREKSİMLERİ DOKÜMANI ONLİNE SİNEMA BİLET SİSTEMİ B1310.

N. Tuğbagül ALTAN AKIN XIX. Türkiye'de İnternet Konferansı Kasım 2014 Yasar Üniversitesi İzmir

E-İmza Kavramı. Elektronik bilginin bütünlüğünü ve tarafların kimliklerinin doğruluğunu sağlar.

PR Kasım 2009 Yazılım, PC-tabanlı kontrol Sayfa 1 / 5

Şifreleme Sistemlerine Giriş ve Açık Anahtar Şifreleme

Bilgi Teknolojileri Yönetişim ve Denetim Konferansı BTYD 2010

İSTANBUL MEDENİYET ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ BÖLÜMÜ(TÜRKÇE) 4 YILLIK DERS PLANI

Internet Güvenliği & Meşru Haklama (ISE 543) Ders Detayları

Transkript:

ELEKTRONĐK ĐMZA UYGULAMALARININ SÜREKLĐLĐĞĐ ĐÇĐN TASARIM KALIPLARININ KULLANILMASI ALPER UĞUR, ĐBRAHĐM SOĞUKPINAR Gebze Yüksek Teknoloji Enstitüsü, Bilgisayar Müh.liği Bölümü augur@bilmuh.gyte.edu.tr, ispinar@bilmuh.gyte.edu.tr ÖZET: Gelişmiş bilgi sistemlerinde, gerek bilgi gerekse haberleşme güvenliği, sistemin temel taşlarını oluşturmaktadır. Bu sistemlerde taraflar arasında yetkilendirme, kimlik denetimi ve bilgi bütünlüğü işlevlerinin inşasında ise yaygın olarak elektronik imza uygulamaları kullanılmaktadır. Geleneksel olarak el ile atılan imzanın sayısal karşılığı olan bu uygulamalar kriptografik algoritmalar ve özetleme fonksiyonları kullanılarak gerçekleştirilmektedir. Sürekli gelişen teknoloji ve yapılan bilimsel araştırmalar, kullanılan algoritmaların zaman içinde yetersiz kalabileceğini ve değiştirilmesi gerekliliğini ortaya koymaktadır. Bu gerçek elektronik imza uygulamalarının kısa sürede yeni algoritmalara uyum sağlayacak şekilde tasarlanmasını gerekli kılmaktadır. Bu çalışmada geliştirilmekte olan bir elektronik imza uygulamasının sürekliliğinin tasarım yöntemleri ile sağlanması ve oluşturulan modüler yapının katkıları ortaya konulmuştur. ANAHTAR KELĐMELER: Elektronik Đmza, Tasarım Kalıpları, Yazılım Sürekliliği DESIGN PATTERNS FOR SURVIVALITY OF ELECTRONIC SIGNATURE APPLICATIONS ABSTRACT: It is obvious that data and communication security are basis for advanced information systems. Electronic signature applications are heavily used at the development phases of authentication, authorization and data integrity functions in these systems. The applications consist of cryptographic algorithms and hash functions to obtain the digital signature that substitute for hand-written signature. The scientific researches, constant and rapid changes in technology exposed that these algorithms and functions would be incapable and they have to be changed with alternatives. This truth requires that the electronic signature applications must be designed for quick adaptation of new adequate algorithms and functions. In this work, the electronic signature applications survivality is handled at the design phase with modular structures by using design patterns and the contributions are presented. KEYWORDS : Electronic Signature, Design Patterns, Software Survivality Giriş Gelişmiş bilgi sistemlerinde, aktif verinin ve genel sistemin güvenliği için birçok güvenlik politikası uygulanmaktadır. Bu güvenlik politikalarını sağlayan temel fonksiyonlar, aktif verinin değiştirilmediğinin kontrolü amacıyla uygulanan veri bütünlüğü, verinin gizliliğini sağlamak için kullanılan veri şifreleme/deşifreleme ve gerek haberleşme gerek veri güvenilirliği gereksinimlerine cevap veren yetkilendirme ve kimlik denetimidir [1]. Bir haberleşme protokolünde veri bloğuna eklenen veya bilgi sistemlerinde, internette bir dokümana, bir uygulamaya eklenen elektronik imza, ilgili verinin kaynağı yani kimden geldiği, verinin özgünlüğü yani değiştirilip değiştirilmediği gibi birçok doğrulama işleminin yapılmasına yardımcı olmaktadır. Elektronik imza uygulamaları bahsedilen işlevleri gerçekleştirirken standartlarda yer alan güvenlik algoritmalarını kullanırlar. Şifreleme algoritmaları ile gizlilik ve veri güvenliği sağlanırken özetleme algoritmaları ile veri bütünlüğü ve verilerin 1

imzalanmasında kullanılan verilere ait parmak izi diyebileceğimiz veri özetleri elde edilir. Bu algoritmalar gelişen teknoloji merceğinde sürekli incelenerek, yükümlü oldukları işlevleri güvenli şekilde yerine getirmeleri için kimi zaman parametrik olarak güncellenmiş kimi zaman da gelişmiş, güncel saldırılara karşı kararlı ve daha güvenli yeni algoritmalar ile değiştirilmektedir. Bu algoritmaları kullanan elektronik imza uygulamaları da bahsedilen değişimden paylarını almaktadırlar. Tasarımı bu değişikliğe uygun olarak yapılmamış uygulamaların ürün-yaşam süresinin planlanandan kısa süreceği muhakkaktır. Elektronik imza uygulamasının sürekliliğinin sağlanması için tasarımının değişiklikler için esnek hale getirilmesi gereklidir. Tasarım, gerek algoritma güncellenmesinin gerekse yeni algoritmanın elektronik imza uygulamasına uyumunun kolay ve kısa sürede yapılmasını sağlamalıdır. Tasarımın bu yeteneği uygulamanın ürün-yaşam ömrünü de arttırarak sürekliliğini sağlayacaktır. Bu çalışmada, geliştirilmekte olan bir elektronik imza uygulamasının sürekliliğinin tasarım yöntemleri ile sağlanması ve önerilen modüler yapının katkıları ortaya konulmuştur. Makalenin takip eden bölümlerinde elektronik imza, güvenli olma şartlarına yer verilmiş, kullandıkları algoritmalar ve onlardan kaynaklanan süreklilik problemi detaylandırılmıştır. Sonuç olarak da bu problem karşısında elektronik imza uygulaması tasarımına yapılacak uyarlama ve yeni tasarımın uygulamaya güvenlik açısından katkıları ortaya konulmuştur. Elektronik Đmza Elektronik imza, Elektronik Đmza Kanunu nda [2] başka bir elektronik veriye eklenen veya elektronik veriyle mantıksal bağlantısı bulunan ve kimlik doğrulama amacıyla kullanılan elektronik veri olarak tanımlanırken güvenli elektronik imza ise; Münhasıran imza sahibine bağlı olan, Sadece imza sahibinin tasarrufunda bulunan güvenli elektronik imza oluşturma aracı ile oluşturulan, Nitelikli elektronik sertifikaya dayanarak imza sahibinin kimliğinin tespitini sağlayan, Đmzalanmış elektronik veride sonradan herhangi bir değişiklik yapılıp yapılmadığının tespitini sağlayan elektronik imza olarak tanımlanmıştır. Sayısal imzalama; aşamaları, imzalanacak dokümanın tek yönlü bir özetleme fonksiyonu ile özgün bir özetinin elde edilmesi ve bu özetin belirlenen imzalama algoritmasından geçirilmesi olan işlemdir. Sonuçta o dokümana ait elektronik imza elde edilmiş olur. Bu işlemler Şekil 1 de şematik olarak gösterilmektedir. Ülkemizde imzalama algoritması olarak en az 1024 bit anahtar uzunluğuna sahip RSA, DSA, en az 163 bit anahtar uzunluğuna sahip DSA Eliptik eğrisi kullanılırken, özetleme algoritması olarak ise RIPEMD 160, WHIRLPOOL, SHA 1 ve SHA 2 ailesinden SHA 224, SHA 256 kullanılmaktadır [3]. H A S H veri imzalanacak özeti veri Özetleme Fonksiyonu Şekil 1 Sayısal Đmzalama Şeması Elektronik Đmza Uygulamaları Güvenli bir elektronik imzanın özellikleri yukarıda sıralanmıştı. Bu özellikleri gerçekleştirecek gerek oluşturma gerekse doğrulama yapacak bir elektronik imza uygulaması ise Ürettiği elektronik imza oluşturma verilerinin kendi aralarında bir eşi daha bulunmaması, Üzerinde kayıtlı olan elektronik imza oluşturma verilerinin araç dışına hiçbir biçimde çıkarılamamasını ve gizliliği, Üzerinde kayıtlı olan elektronik imza oluşturma verilerinin, üçüncü kişilerce elde edilememesini, kullanılamamasını ve elektronik imzanın sahteciliğe karşı korunması, Đmzalanacak verinin imza sahibi dışında değiştirilememesini ve bu verinin imza sahibi tarafından imzanın oluşturulmasından önce görülebilmesi, Đmzanın doğrulanması için kullanılan verileri, değiştirmeksizin doğrulama yapan kişiye göstermesi, Đmza doğrulama işlemini güvenilir ve kesin bir biçimde çalıştıran ve doğrulama sonuçlarını değiştirmeksizin doğrulama yapan kişiye göstermesi, Gerektiğinde, imzalanmış verinin güvenilir bir biçimde gösterilmesini sağlaması, Đmzanın doğrulanması için kullanılan elektronik sertifikanın doğruluğunu ve geçerliliğini güvenilir bir biçimde tespit ederek sonuçlarını değiştirmeksizin doğrulama yapan kişiye göstermesi, Đmza sahibinin kimliğini değiştirmeksizin doğrulama yapan kişiye göstermesi, S Đmzalama Algoritması e-imza 2

Đmzanın doğrulanması ile ilgili şartlara etki edecek değişikliklerin tespit edilebilmesi özelliklerini [2] sağladığı sürece güvenli olarak addedilebilir. Bu özellikler elektronik imza uygulamasının amacını yerine getirirken işlevlerinin güvenlik sınırlarını belirlemektedir. Bununla birlikte bu işlevlerden birçoğu yazılım veri akış şemasının dışında, ancak yukarıda adı geçen algoritma ve fonksiyonlar ile gerçekleştirilebilinecektir. Verilerin gizliliği ve güvenliği şifreleme algoritmaları ile sağlanırken, veri bütünlüğü, doğrulama ve oluşturulacak özetin benzersizliği özetleme fonksiyonları tarafından sağlanacaktır. Özetleme fonksiyonları ya da algoritmaları, elektronik verilerin yoğunlaştırılmış gösterimini, özetlerini hesaplamak için kullanılmaktadır. Bu özetler değişken uzunluklu girdiler için uzunlukları 160 ila 512 bit arasında kullanılan algoritmaya bağlı olarak değişmektedir. Güvenli özetleme algoritmaları genelde sayısal imza algoritmaları, anahtarlı hash ileti denetim kodları veya rasgele sayı (ikili) üretimi gibi diğer kriptografik algoritmalarda kullanılır. Özetleme algoritmaları, bilinen özete karşılık gelen elektronik veriyi bulmanın aynı elektronik veri özetini üreten iki farklı elektronik veri bulmanın hesaplamalara göre mümkün olmaması sebebiyle güvenlidir. Elektronik verideki herhangi bir değişiklik büyük bir olasılıkla 1 farklı özeti olarak sonuçlanacaktır. Bu özellikten özetleme algoritmasının kullanıldığı bir kimlik denetimi algoritması veya bir sayısal imzanın doğrulanmasında faydalanılmaktadır [4]. Elektronik Đmza Uygulamalarının Uzun Yaşam Sorunu Algoritmalarda kullanılan anahtar uzunlukları arttırılarak problem uzayının genişletilmesi ve böylelikle algoritmanın gelişen teknolojisi karşısında dayanıklılığı arttırılmaya çalışılsa da [5] özetleme fonksiyonları için benzeri durum söz konusu değildir. MD5 özetleme fonksiyonu yaygın olarak birçok sertifika uygulamasında kullanılmaktadır. Çarpışma olasılıkları üzerinde yapılan çalışmalar [6][7], MD5 algoritması için 2 64 olasılığı yerine 2 39 çarpışma olasılığı, yine yaygın olarak kullanılan SHA 1 algoritması için 2 80 yerine 2 63 e kadar düşen çarpışma olasılıklarının varlığına dikkat çekmektedir. Bu çalışmalar ile adı geçen özetleme algoritmalarının aynı özete sahip farklı elektronik veriler ve sahte eş- 1 Doğum günü paradoksuna göre n-bit çıktılı bir özetleme algoritması, 2 n/2 farklı girdi çakışma uzayına sahiptir. sertifikaların oluşturulması gibi özelliklerinin yetersiz kaldığı görülmüştür. Yapılan çalışmalar bu algoritmaların kullanıldığı elektronik imza ve sertifikaların güvenilir olarak kabulünü zorlaştırmaktadır [6]. Aynı sebepten dolayıdır ki; Elektronik Đmza Kanunu nda yer alan algoritmalar ve parametreler maddesi, 2005 te sadece RIPEMD 160 ve SHA 1 özetleme fonksiyonlarını içeriyorken, 2006 da daha yüksek güvenlik seviyesine ve yüksek çıktı özellikleri ile çarpışma saldırılarına daha dayanıklı olan WHIRLPOOL, SHA 224 ve SHA-256 ıyı da içerecek şekilde değiştirilmiştir [3][8]. Orta ve yüksek güvenlik seviyeli elektronik imza uygulamalarında kullanılan özetleme fonksiyonlarının kısa sürede ve kriptografik algoritmaların uzun dönemde yenileriyle değiştirilmesi gerektiği ve değişimin teknolojinin sürekli gelişmesiyle birlikte devam edeceği de açıktır [9][10]. Bu sebepten dolayıdır ki algoritmaların ve bu algoritmalar ile üretilen sertifikaların kullanım süreleri kısıtlanmış, geçerlilik tarihleri de sınırlandırılmıştır. Bu sonuçlar elektronik imza uygulamalarında algoritmaları kullanan yapıların uygulamanın ürünyaşam sürecinde dinamik yapıda olmaları gerektiğini ortaya koymaktadır. Böylelikle elektronik imza uygulaması gelişen teknolojiye ayak uydurabilecek, sürekli yeniden inşası gerekmeyecek şekilde kesintisiz hizmet vermeye ve güvenli elektronik imza uygulaması olma şartlarını taşımaya devam edecektir. Elektronik Đmza Uygulamalarının Sürekliliğinin Strateji Tasarım Kalıbı ile Sağlanılması Bu bilgilere dayanarak kullandığı metotlar kriptografik algoritmalar ve özetleme fonksiyonları olan elektronik imza uygulamalarının tasarısında alınacak ilk tedbir geleneksel yöntemler bırakılarak yazılımın tamamen modüler olarak tasarlanması ve bu şekilde uygulama ortamına sürülmesidir. Aynı şekilde halihazırda ürün olarak kullanılan bir elektronik imza uygulamasının da mimarisinin evrimleşerek değişikliklere uyum sağlaması mümkündür. Uyum sağlanırken izlenecek yol ise tasarımın tümüyle yenilenmesinden önce nelerin değiştirilebilineceğine yönelik olmalıdır. Yukarıda değinilen sorunlar ve ulaşmak istenen yetkinlikler göz önünde tutularak değişiklik hedefi olarak elektronik imza uygulamasının sürekliliği seçilmiştir. Seçilecek ve tasarıma uyarlanacak yöntem de bu doğrultuda olacaktır. Uygulanacak tasarım yönteminde hedef, elektronik imza uygulamalarında, algoritma ve uygulama bağımsızlığı gereksinimini sağlayabilmelidir. Bu 3

aşamada GOF 2 un tasarım kalıpları katalogunda [11] davranışsal kalıp sınıflandırmasının altında yer alan strateji tasarım kalıbının kullanılması belirlenen hedefe ulaşmak için uygun olacaktır. Strateji tasarım kalıbı, aynı aile üyesi ve birbiriyle ilişkili her bir algoritmanın ortak bir süper-sınıfa ait farklı alt-sınıfların, strateji nesneleri olarak tanımlanabilmesini ve kapsüllenmesini sağlar. Uyarlanacak tasarımda, algoritmayı kullanacak nesnenin ilgili strateji nesnesine bağlanması yeterli olacaktır. Bununla beraber kurulacak ilişkide, algoritmadaki herhangi bir değişiklik uygulamayı ya da istemci programı etkilemeyecektir [12]. Bu yapı aynı zamanda ana programdaki diğer değişikliklerin algoritmalara yansımasını da engelleyecektir. Önerilen strateji tasarım kalıbının, elektronik imza uygulamasında kullanılan özetleme algoritmalarına uyarlanmış hali Şekil 2 de sunulmuştur. Şekil 3 ve Şekil 4 te elektronik imza uygulamasındaki özetleme algoritmasına yönelik yazılan kod parçaları verilmektedir. Yeni bir özetleme algoritmasının eklenmesi durumunda yazılım kodunun baştan sona gözden geçirilmesi yerine yeni algoritmanın koda eklenmesi yeterli olacaktır. Geçerliliğini yitirmiş bir algoritmanın iptali de o algoritmanın metotlarını yorum parantezine almak kadar kolay olacaktır. //Class MD5 implements HashStrateji { // byte [] hashing (byte [] e_veri) { //..//MD5 a özgün işlemler // // iptal edilen algoritma class RIPEMD_160 implements HashStrateji { byte [] hashing (byte [] e_veri) {..//RIPEMD-160 a özgün işlemler class SHA1 implements HashStrateji { byte [] hashing (byte []e_veri) {.. //SHA-1 e özgün işlemler class YeniOzetAlg implements HashStrateji { byte [] hashing (byte []e_veri) {.. //YeniÖzetAloritması na //özgün işlemler Şekil 3 Özetleme Algoritmalarının Yapısı Şekil 2 Özetleme Algoritmaları Đçin Uyarlanmış Strateji Tasarım Kalıbı Strateji ile mimaride desteklenen tüm algoritmalar için uygulamanın somut-stratejilere ulaşmasını sağlayacak bir arabirim tanımlanır. Somut-stratejiler, arabirimi kullanan elektronik imza uygulamalarında şu an kullanılan belli başlı özetleme algoritmalarını ve uygulamaya ileride dahil edilebilecek YeniÖzetAlgoritması nı gerçekleştirir. Đstemci uygulama ise somut-strateji ile yapılandırılıp ve uygulamanın strateji nesnelerine referans yoluyla bağlantısı temin edilir. Đstemci uygulamanın strateji nesnesinin kullanılacak verilere erişimi için arabirim tanımlanır. Kullanılan algoritmaların çıktıları değişken olsa bile uygulamanın arabirimle ilişkisinde kullanılan algoritma girdilerinin benzer olmaları, farklı algoritmaların strateji kalıbı ile soyutlanmasını kolaylaştırmıştır. 2 Gang of Four takma adıyla bilinen yazarlar: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides interface HashStrateji { byte [] hashing (byte []e_veri); static byte [] yenihashing (byte []e_veri){... secilenhashstrateji.hashing (e_veri); Şekil 4 HashStrateji Arabirimi Ve Uygulamada Yer Alan Özetleme Metodu Đleride elektronik imza uygulamalarına eklenebilecek kriptografik algoritma veya özetleme fonksiyonlarının farklı girdi yapıları içermesi durumunda, tasarıma adı geçen katalogdan yapısal kalıp sınıflandırması [11] altındaki adaptör tasarım kalıbı dahil edilerek uyum sağlanabilir. Adaptör tasarım kalıbı, farklı arabirimlerin uyumu için önerilen bir kalıptır. Bu kalıp kullanılarak uygulamanın farklı girdi yapısına sahip algoritmayla uyumlu çalışması sağlanabilinecektir. Şimdiye kadar standartlarda yer almış olan algoritmalar değişken bir girdi veri bloğu yapısı göstermemektedir. Bu sebeptendir ki değinilen bu uç durum karşısında alınabilecek önlem önerisi ve adı geçen kalıp daha fazla detaylandırılmamıştır. Đstemci uygulamadan algoritmanın soyutlanması elektronik imza uygulamaları için tercih edilecek bir başka emniyet özelliğidir. Emniyet özelliği, güvenlik özelliğinden farklı olarak sistem ya da uygulamanın güvenliğine tasarımsal olarak katkıda bulunur ve sistemin genel güvenliğinde önemli rol oynar [13]. 4

Tasarıma eklenen strateji kalıbının soyutlama özelliği ile uygulama karmaşıklığının azaltılmasının yanı sıra kriptografik algoritmaların inşasında gerçekleşmesi olası kodlama zayıflıklarının da uygulamadan soyutlanarak genel uygulama güvenliğinin desteklenmesi sağlanmıştır. Firma bazında kodlaması yapılan kriptografik algoritmaların geçerli bir elektronik imza uygulamasında kullanılabilmesi için mevzuatta bulunan güvenlik testlerinden geçmiş olması gerekmektedir. Geçerli testlerin NIST gibi standartları belirleyici kurumlar tarafından yapılabilir olması ürün maliyetini etkileyecektir. Yazılım yaşam sürecinde uygulama kodlarında yapılacak değişiklik güvenlik ölçütlerine uyum açısından her defasında algoritma kodlarının geçerlilik testini gerektirecek ve sonuçta ürün maliyetini arttıracaktır. Fakat önerilen yapının sunduğu onaylanmış algoritma kodları tüm değişikliklerden soyutlanmış olacak ve bu maliyet ortadan kalkacaktır. Bununla birlikte satın alınmış, güvenlik testlerinden geçmiş algoritma modülleri ya da kütüphanelerinin uygulamaya uyarlanması, yeni bir somut-strateji nesnesi tanımı eklenerek tamamlanacak kadar kolaylaşacaktır. Böylece bağımsız analiz gerektiren kendine özgü güvenlik testleri olan kriptografik algoritmaların kodlama karmaşıklığı da asgari seviyeye çekilebilecektir. Yazılım güvenliğinin sağlanması, yazılımın tüm yaşam safhalarına yayılması gereken bir yaklaşım olmalıdır [14]. Yazılım güvenliği, tasarımdan ürüne tüm yaşamı boyunca, güvenlik analizleri, genel kod zayıflığı riskleri ve güvenlik testlerinin gereksinimleri doğrultusunda sağlanacaktır. Bu farklı disiplin gereksinimleri, yazılım genelinde yapılacak analizleri karmaşık hale getirirken, elde edilen modüler mimariyle elektronik imza uygulamasının ürünyaşamındaki bakım sürecinde, kodların güvenlik incelemelerinin ve birim testlerinin verimli şekilde yapılabilmesi, modüller arasındaki olası haberleşme zafiyetlerinin de tespitinde kolaylık sağlanacaktır. Strateji kalıbının elektronik imza uygulama mimarisine uyarlanması ile elde edilen modüler yapı ile saldırı yüzeyinin küçültülmesi, kod ve verinin, farklı işleve ait birimlerin ayrılması, geriye dönük uyumluluğun sağlanması gibi güvenli yazılım üretim kuralları [15] da sağlanmaktadır. Somut-stratejilere arabirim ile ulaşılması, uygulamanın, farklı ihtiyaçlara göre değişken güvenlik seviyelerine sahip kriptografik algoritmalar arasında seçim yapabilecek şekilde yapılandırılmasını kolaylaştıracaktır. Seçim esnekliği, elektronik sertifika üretiminde hiyerarşik güven seviyeleri için güvenliğin arttırılabilmesini de olanaklı kılacaktır. Böylelikle önerilen yapı, elektronik imza uygulamasına amaçlanan süreklilik özelliğinin yanında esneklik ve geriye uyumluluk niteliklerini de kazandıracaktır. Sonuç Ve Öneriler Bu çalışmada elektronik imza uygulamalarındaki süreklilik problemine davranış tasarım kalıplarından strateji kalıbı ile getirilen çözüm sunulmuştur. Önerilen yöntemle elektronik imza uygulaması, kullanılan kriptografik algoritmalardan soyutlanarak modüler ve daha güvenli bir tasarıma sahip olmuştur. Yöntemin modüler yapısı, yazılım kodlarının işlevsel birimlerine göre ayırımını sağlayarak, elektronik imza uygulamasının genel güvenli yazılım kurallarına uyumlu hale gelmesine katkıda bulunmuştur. Elektronik imza uygulamalarında kullanılan kriptografik algoritmaların yapılan araştırmalar ve gelişen teknoloji sonucunda zamanla güvenilirliğini yitirmesi uygulamanın ürün-yaşam süresini azaltmaktadır. Bu çalışmayla elektronik imza uygulamasının tasarımı algoritma bağımsız hale getirilmiştir. Tasarım, ileriye ve geriye dönük olarak uygulamada kullanılan/kullanılabilecek algoritmaları destekleyecek şekilde düzenlenmiştir. Böylelikle uygulamanın ürün-yaşam ömrü uzatılarak sürekliliği sağlanabilecektir. Elektronik imza uygulamasının esnekliği sağlanmış, geçerliliğini yitirmiş bir algoritmanın uygulamadan çıkarılması ve ilgili mevzuat ile kullanılması şart koşulabilecek yeni kriptografik algoritmaların uygulamaya eklenmesi oldukça kolaylaştırılmıştır. Önerilen yöntem tasarımın farklı güvenlik seviyesi gerektiren hiyerarşik sertifika uygulamaları için ilgili güvenlik seviyesini destekleyen algoritmanın seçim ve kullanım esnekliğini sağlayacaktır. Her ne kadar firmalara ait kriptografik algoritma modüllerinin ürünle birlikte güvenli çalışmasına katkıda bulunduğu ortaya konmuş olsa da bu tip algoritmaların, kodlama zayıflıklarının tüm sistem güvenliğini etkilemesi sebebiyle yetkin kurumlardan sağlanması ve elektronik imza uygulamalarında bu şekilde kullanılması önerilmektedir. Şimdiye kadar olmadığı halde gelişen teknoloji ve yapılan araştırmalar sonucu elektronik imza uygulamalarına dahil edilecek algoritma girdilerinin farklı yapıda olması durumunda yapısal tasarım kalıplarından adaptör kalıbının kullanılması önerilmiştir. Bu durumda adaptör kalıbı strateji kalıbı ile işbirliği yaparak sürekliliği koruyacaktır. 5

Belirtilen durum gerçekleştiğinde adaptör kalıbının farklı veri bloğuna sahip olabilecek algoritmaları uyarlamada kullanılmasının elektronik imza uygulaması güvenliğine etkileri başka bir araştırma konusu olarak ele alınabilir. Kaynaklar [1] Stallings W., Cryptography and Network Security Principles and Practices, Prentice Hall, NJ, 2003 [2] Elektronik Đmza Kanunu, Kanun No:5070, Sayı:25355, 3 Ocak 2004 Tarihli Resmi Gazete, 2004 [13] Potter B., Software and Network Security, Network Security, Volume 2004, Issue 10, October 2004 [14] McGraw, G., Software security, IEEE Security & Privacy Magazine, Volume 2, Issue 2, Mar-Apr 2004 [15] Peine H., Rules of thumb for secure software engineering, ICSE '05: Proceedings of the 27th international conference on Software engineering, ACM Press, 2005. [3] Elektronik Đmza ile Đlgili Süreçlere ve Teknik Kriterlere Đlişkin Tebliğde Değişiklik Yapılmasına Dair Tebliğ, Sayı:26056, 21 Ocak 2006 Tarihli Resmi Gazete, 2006 [4] National Institute for Standards and Technology (NIST), Federal Information Processing Standards Publication: Secure Hash Standard, FIPS PUB180-2, 2002 [5] Kaliski B., TWIRL and RSA Key Size, RSA Laboratories Technical Notes and Reports, Mayıs 2003 [6] Cid C., Recent Developments in Cryptographic Hash Functions: Security Implications and Future Directions, Information Security Technical Report, Volume 11, Issue 2, 100-107, 2006 [7] Zaba S., Digital signature legislation: The first 10 years, Information Security Technical Report, Volume 11, Issue 1, 18-25, 2006 [8] Elektronik Đmza ile Đlgili Süreçlere ve Teknik Kriterlere Đlişkin Tebliğ, Sayı:25692, 06 Ocak 2005 Tarihli Resmi Gazete, 2005 [9] Landau S., Find me a hash, Notices of the AMS,53(3):330 2, Mart 2006 [10] ECRYPT, Recent collision attacks on hash functions: ECRYPT position paper. ECRYPT Network of Excellence Report 2004, http://www.ecrypt.eu.org/documents/stvl-erics-2- HASH_STMT-1.1.pdf, erişil.ekim 2006. [11] Gamma E., Helm R., Johnson R., Vlissides J, Design Patterns: Elements of Reusable Object- Oriented Software, Addison-Wesley, Reading, MA, 1995. [12] Kuchana P., Software Architecture Design Patterns in Java, CRC Press, USA, 2004 6