BÖLÜM 1: BİLGİ GÜVENLİĞİNE GİRİŞ
1.1. TANIMLAR
Güvenlik sözcüğü sahip olunan değerlerin tehditlere ve saldırılara karşı korunması anlamında kullanılır. Güvenlik konusu iki ana başlık altında incelenebilir:
1. Fiziksel Güvenlik
2. Sayısal (Dijital) Güvenlik
Fiziksel güvenlik “somut” değerleri korumak içindir. Son zamanlarda gelişmiş bir ihtiyaç değildir, insanlığın başından bu yana vardır. Bu ders kapsamında fiziksel güvenlik konusuna girmeyeceğiz. Fakat güvenlik alanındaki bazı temel prensiplerin ortak olduğunu ve bu iki alanın yakın geçmişte yakınsama içerisine girdiğini bilmek gerekir. Örneğin daha öncesinde fiziksel güvenliğin klasik bir konusu olarak düşünülen kapı anahtarlarında sayısal teknolojiler kullanılmaya başlanmıştır. Böyle olunca bu derste üzerinde duracağımız pek çok güvenlik konusu kapı anahtarları için de önemli hale gelmiştir.
Bilgi ve iletişim teknolojilerindeki gelişmeler ile birlikte "bilgi" sahip olduğumuz en önemli sayısal değer olmuştur. Bilginin değeri arttıkça, bu değere karşın yapılan saldırılar da artmış ve tehdit ve riskler çok daha kritik hale gelmiştir. Bilgi güvenliği dersinde odaklanacağımız konular şunlar olacaktır:
bilgisayar güvenliği: bilginin bilgisayar sitemlerindeki işlenmesi ve saklanması esnasında korunması.
ağ güvenliği: bilginin bağlı sistemler arasında transferi esnasında korunması.
İnternet ve bilgisayarın birbirinden ayrı düşünülemediği günümüzde bilgisayar güvenliği ve ağ güvenliği ayrımının çoğu zaman net yapılamadığını da unutmamak gerekmektedir.
Güvenlik (security) ve emniyet (safety) kavramları arasında ince fakat önemli bir fark vardır. Güvenlikte odaklanılan konu bilinçli olarak yapılan saldırılar üzerine iken, istatistiksel hatalar veya kaza eseri meydana gelen davranışlar emniyet ile alakalıdır.
Not: İngilizce “safety” kelimesinin karşılığı olarak da çoğu kez “güvenlik” kullanılmaktadır. Yukarıda iki kavram arasındaki farkı bilhassa vurgulamak için farklı Türkçe karşılıklar tercih edilmiştir.
Güvenlik Neden Zordur?
Farklı görüş açılarını da dillendirerek bu önemli soruya şu şekilde detaylı bir cevap verebiliriz:
Bilgi teknolojileri ile ilgili çoğu alt alan istenilen işlevi elde etmekle uğraşır. Örneğin yapay zekâ alanında çalışanların başarmak istedikleri şey akıllı davranabilen algoritmalar, yazılımlar, makineler üretmektir. Diğer taraftan, güvenlik istenilmeyen işlevi / davranışı engellemek ister. Bir şeyin ne yaptığını incelemek ne yapmadığını incelemekten çok daha kolaydır.
İşlevsellik (functionality) açısından değerlendirildiğinde istenilmeyen yeni bir işlevin var olması bir problem değildir, fakat konu güvenlik (security) olduğunda bu ciddi bir problemdir zira söz konusu işlev saldırı yapanlara kötü şeyler yapabilmeleri için açık kapı bırakmaktadır.
Olasılık teorisi emniyet alanında yapılan çalışmalarda kullanılan temel bir araçtır. Mesela bir uçağı düşünürsek; havada kalmak için bir motora ihtiyaç duyar. Bir motorun bozulma olasılığını ve uçak için izin verilen en yüksek hata payını göz önünde bulundurursak bir uçakta kaç motora ihtiyacımız olduğunu hesaplayabiliriz. Güvenlik için benzer bir hesaplama yapabilir miyiz?Fazlalık / Artıklık (redundancy) güvenlik için uygun bir teknik midir?Olasılık modellemesi güvenlikte mümkün müdür?Bu gibi soruların hepsinin ucu açıktır. Bu belirsizlikte güvenliği zor bir problem haline getirmektedir.
Diğer mühendislik dalları gibi gereksinim analizi güvenlik için de büyük öneme sahiptir.Fakat güvenlik gereksinimlerini belirlemek kolay bir iş değildir zira kullanıcıların çoğunluğun güvenlik tecrübesi olmadığından ve güvenlik ile ilgili alan bilgileri fazla bulunmadığındangüvenlik gereksinimlerini de belirlemek oldukça güçtür.
Sistem birleşik bir tümü içeren birbiriyle ilgili elemanların toplamı - bütünü olarak tanımlanabilir.Sistemler tekil makinelerden ayırt edilebilmektedirler. Örneğin makara bir makinedir, fakat bir asansör makaraları da içeren pek çok bileşeni ile bir sistemdir.Bir bilgi sistemi genel olarak bilgi akışını sağlamak üzere ilişkilendirilmiş bazı bileşenlerden oluşur. Sistemlerin (özelde bilgi sistemlerinin) güvenlik tasarımcılarının işini zorlaştıran iki özellikleri vardır:
Sistemler büyüyebildikleri gibi başka sistemlerle de birleşerek karmaşıklığı arttırırlar.İnsan yapımı en karmaşık sistem muhtemelen İnternettir. Başka bir karmaşık sistem bilgisayarların işletim sistemleri olabilir; milyonlarca satır koddan oluşan MS Windows gibi. MS Windows daha da büyüdükçe yeni güvenlik açıklarının ortayaçıkma ihtimalleri artmaktadır ve bu açıkları insanların kapatabilme ihtimalleri de düşmektedir.
Bir sistemin karmaşık davranışları veya özellikleri sistemin sadece bir bileşeninin veya alt sisteminin özelliği değildir.Bu sebeplesistem davranışlarının alt seviyelerde tahmin edilmeleri veya sebeplerinin bulunmaları zordur.
Bilgi Güvenliği Neden Özellikle Zordur?
Güvenliği sağlama işini özellikle bilgi güvenliği söz konusu olduğunda daha zor hale getiren sayısal dünyanın şu karakteristik özelliklerini bilmekte fayda vardır:
Otomasyon: Bilgisayarlar ile önceden mümkün olmayan veya planlanması imkânsız olan saldırılar bile ana birer tehdit olmuştur.
Uzaktan müdahale: Saldırganların hedeflerinin yakınlarında olması gerekmemektedir.
Teknik yayılımı: Saldırı araçları İnternet üzerinden kolaylıkla yayılabilmektedir.
Temel Güvenlik Önlem Türleri
Üç ana güvenlik önlem türünden bahsedebiliriz:
Engelleme (Prevention)
Tespit Etme (Detection)
Tepki verme (Reaction)
Örnek olarak kapımızdaki kilidi ve alarmı düşünelim. Kilit engelleme amaçlı bir güvenlik aracı iken, kapıdaki alarm bir saldırı olduğunda sadece bunu tespit edebilir. Polisin aranması ise bir tepki verme eylemidir. Engelleme zararın telafi edilemez olduğu durumlarda tek geçerli yöntemdir.
Tepki olmadan tespit anlamsızdır ve tepki verme sadece bu iki önlemin birbirine güvenilir bir şekilde bağlanması halinde anlamlıdır. Tespit etme ile alakalı önemli bir konu yanlış alarmlardır. Eğer bir alarm varsa fakat saldırı yoksa buna bir yanlış pozitif denir. Eğer bir saldırı varsa fakat alarm yok ise bu duruma da yanlış negatif denir.Elbette ki ana hedef hem yanlış pozitiflerin hem de yanlış negatiflerin sayısını minimumda tutmaktır.
1.2. GÜVENLİK HEDEFLERİ
Bilgi güvenliğinde üç ana hedef şunlardır:
Gizlilik (Confidentiality-Secrecy):Bilginin yetkisiz ellere geçmesinin engellenmesi.
Bütünlük (Integrity): Bilginin yetkisiz değiştirilmesinin engellenmesi.
Erişilebilirlik (Availability): Bilgi kaynaklarına erişimin yetkisiz alıkonulmasının engellenmesi.
Bu üç hedef İngilizce karşılıklarının baş harflerinin birleşmesi ile CIA olarak da bilinir.
Gizlilik askeri alanda çok büyük bir öneme sahiptir ve çoğu insan içinbilgi güvenliği konusunu duyduklarında ilk akla gelen şeydir. Fakat genel olarak modern iş yaşamında bütünlük ve erişilebilirlik gizlilikten çok daha önemlidir. Örneğin bir elektronik para transferinde belki gizlilik gereklidir fakat bütünlük çok daha önemlidir (para transferi miktarının yetkisiz biri tarafından 10 TL’den 10 Milyon TL’ye değiştirildiğini düşünün).
Bu üç hedef arasında belki de en az anlaşılan erişilebilirliktir.Daha iyi bir açıklama için güncel bir örneğe bakalım.
Bazı şirketler (Yahoo, Google, vs.) bedava e-posta hizmeti sunarlar. Bu hizmetler genelde her dakika binlerce e-posta hesabı için başvuru yapan otomatik programlardan (bot yazılımlar) zarar görmektedirler çünkü bu durum normal kullanıcılara hizmet verilmesini engellemekte veya olumsuz etkilemektedir. E-posta hizmetinin devamı ve erişilebilirlik hedefinin sağlanabilmesi için çözüm bilgisayar ile insan arasındaki farkı ayırt edebilen bir sistem bulmak ve kullanmaktır. Bu sayede insanlar kayıt olabilmeli fakat bilgisayarlar olamamalıdır.
Bir CAPTCHA ("Completely Automated Public Turing test to tell Computersand Humans Apart")da tam olarak bunu yapmaya çalışır. Kullanıcıların çoğu hoşlanmasa da pratikte işe yarar bir teknolojidir. Klasik bir CAPTCHA örneği bilgisayarlar tarafından okunamayan fakat insanların anlayabildiği deforme edilmiş bir metindir. Tabi ki bu mutlak doğrulukta çalışan bir çözüm değildir. İmge işleme ve yapay zekâalanındaki gelişmeler bilgisayarların da bu ve benzeri metinleri okumasını sağlamaktadır.
Kimlik Doğrulama ve Yetkilendirme
Bir diğer genel bilgi güvenliği hedefi kimlik doğrulamadır (authentication). Kimlik doğrulama bir kişinin gerçekten belirtilen kişi olduğunun anlaşılması sürecine verilen isimdir. Genel olarak kimlik doğrulama sonrasında yetkilendirme (authorization) yapılır (kişiye bir şeyleri yapmak örneğin bazı kaynaklara erişmek için izin verilir).
İki tür kimlik doğrulama vardır:
Varlık kimlik doğrulama
Mesaj kimlik doğrulama
Varlık kimlik doğrulama (veya kısaca kimlik doğrulama) gerçek zamanlı bir süreçtir ve sözkonusu varlığın (kişinin) kimliği haricinde başka bir anlamlı mesaj bulundurmaz. Diğer taraftan, mesaj kimlik doğrulamanın amacı alınan mesajın kaynağını denetlemektir ve eş zamanlı bir süreç olması gerekmemektedir. Pratikte, mesaj kimlik doğrulama aynı zamanda mesaj bütünlüğünü gerektirmektedir, çünkü mesajda bütünlük olmadığı sürece mesaj kaynağının denetiminin bir anlamı yoktur.
Erişim kontrolü bu alanda kullanılan başka bir terimdir. Yetkilendirme terimine çok yakın bir anlamı vardır. Kullanıcılar veya diğer (aktif) özneler yetkilendirildiklerinde bazı pasif kaynaklara (nesnelere) erişim yetkisi elde ederler. Erişim yetkisi genelde mutlak manada olmaz, belli türden erişimlerden (okumak, yazmak, çalıştırmak, vb.) bir veya bir kaçı için geçerlidir.
Gizlilik ve Mahremiyet
Mahremiyet (privacy) kişisel bilgilerin açığa vurulmasının ve kullanılmasının kontrol edilmesidir. Gizlilik ve mahremiyet terimleri tam olarak aynı anlama gelmemektedir. Örnek olarak bedava bir e-posta hizmetine kayıt olduğunuzu düşünün. E-posta hizmeti sizden bazı kişisel bilgiler isteyecektir (örneğin doğum tarihi) veya bazılarını sormadan alacaktır (örneğin IP adresiniz). Gizlilik, gönderdiğiniz bilgilerin karşınızdaki siteye giderken başkaları tarafından okunamamasıdır.Diğer taraftan, istenilen alıcı (e-posta şirketi) için sizin kişisel bilgileriniz gizli değildir, fakat yine de bu bilgiler üzerindemahremiyet haklarınız bulunmaktadır (mesela e-posta adresinizin satılmasını ve şirketlerin e-posta adresinize çöp posta göndermesini istemezsiniz). Bu şartlar sitelerin mahremiyetpolitikalarında (poliçelerinde) açıklanmaktadır.
Kişisel bilgilerinizi gönderdiğinizde üçüncü kişilerin bu bilgilere ulaşmasını engellemenin birçok teknik yönü vardır. Fakat mahremiyet daha çok bir politika konusudur ve tartışmaya daha açıktır. Örneğin şirketin mahremiyet politikalarında bir eksiklik gördüğünüzde veya uyulmadığını tespit ettiğinizde hak talebinde bulunma hakkınız vardır. Öte yandan farkında olmadan çoğu zaman bize kabul ettirilen mahremiyet politikaları şirketlerin sonrasında savunma yapmalarını kolaylaştırma işlevini görmektedir.
Diğer Güvenlik Hedefleri
Denetlenebilirlik (Accountability): Kimin neyi yaptığının ve ne zaman yaptığının güvenilir bir şekilde kayıt edilmesidir. Bu sayede ileride kişiler yaptıklarından sorumlu tutulabilirler. Kimlik doğrulama ve yetkilendirme engelleme önlemleridir fakat denetlenebilirlik bir güvenlik açığı farkedildiğinde tepki vermek için gereklidir. “AAA” (Authentication-Authorization-Accountability) bu üç maddeyi kapsayan bir kısaltmadır.
İnkar-edememe (Nonrepudiation): Mesajı gönderen/alan kişinin üçüncü bir parti önünde bu durumu reddedememesi anlamına gelir.
Geri-getirilebilirlik (Restorability): Ne olursa olsun, sistemimizi önceki iyi bir durumuna geri getirebileceğimizden emin olmamızın gerektiği durumlar için bu terim kullanılır.
Saldırı Tespit Etme (IntrusionDetection): Sistemdeki normal olmayan durumları otomatik olarak farketmek anlamında kullanılır.
Steganografi: İletişim etkinliğini üçüncü kişilerfarketmedengerçekleştirebilmemiz anlamına gelir. Steganografi gizlilikten çok daha güçlü bir gerekliliktir çünkü sadece iletişim verilerini gizli tutmak değil iletişimde bulunduğumuzu da gizli tutmamız anlamındadır.
Not: Pek çok liste gibi yukarıdaki bilgi güvenliği hedefleri listesi tamamlanmış bir liste değildir.
1.3. GÜVENLİK YÖNETİMİ VE POLİTİKALAR
Güvenlik hakkında konuşmak çoğu zaman ancak bir organizasyon, kurum, kişi, vb. bağlamında olduğunda anlamlıdır. Uç bir örnek olarak küçük bir ofisi ve bir askeri üssü düşünün.Ofisinizde kapıdaki sağlam bir kilidin yeterince güvenlik sağladığını düşünebilirsiniz fakat askeri bir üs için kapıdaki kilit diğer yüzlerce güvenlik önleminden sadece bir tanesidir muhtemelen. Bu yüzden her şeyden önce organizasyonumuzda sahip olduklarımızı ve değerlerini belirlememiz gerekir.Bizim için daha değerli şeyler için güvenlik daha kritik olacaktır.
İkinci olarak, sahip olduklarımız ile ilgili saldırıya açıklıkları, tehditleri ve riskleri belirlememiz gereklidir. Bu önemli bir konudur zira mevcut olabilecek her saldırıya karşı koruma sağlayan bir güvenlik sistemi yoktur. Eğer ofisiniz ilk katta ise kapıdaki bir kilit yeterli değildir. Pencerelerden gelebilecek bir saldırıyı göz önünde bulundurup, camlarınıza demir parmaklıklar yaptırmayı düşünebilirsiniz.
Askeri üs için bile ne kadar para harcasanız ne kadar önlem alsanız da, “mutlak güvenlik – yüzde yüz güvenlik” diye bir şeye ulaşamazsınız. Yapılacak güvenlik masraflarına hafifleteceği risklere göre karar vermelisiniz. Ayrıca, bu karar – risk/masraf dengesinin kurulması - tek seferlik bir işlemdedeğildir, devam eden bir süreçtir.
Üçüncüsü, yasal ve kontrata bağlı gereklilikleri de belirlemelisiniz. Mesela, eğer sigortanız varsa bir kilit veya alarm almadan önce hırsızlık durumunda sigorta şirketinin yapacağı geri ödemeler ve bunların şartları ilgili politikalarını okuyabilirsiniz.
Yukarıdaki üç soruyu cevaplandırmanız sizin organizasyonunuz için güvenliğin ne demek olduğunu tanımlayan bir güvenlik politikası dokümanı oluşturacaktır.Güvenlik politikası organizasyondaki yetkilendirilmiş ve engellenmiş fiilleri anlattığı gibi çalışanların genel ve özel sorumluluklarını da içerir.
Bunların yanı sıra, güvenlik politikası saldırılara karşı kullanılan (uygulanan) güvenlik önlemlerini (engelleme, tespit etme veya tepki verme türleri ile) de açıklar. Ayrıca çalışanların güvenlik konularında eğitilmesi de bir plana bağlanmalıdır, zira bazı güvenlik problemlerini sadece teknik önlemlerle engellemek neredeyse imkânsızdır.
Güvenlik politikasından sorumlu, politikayı uygulayan, devam ettiren, gözden geçiren ve etkililiğini belirleyen tek bir yöneticinin olması tercih sebebidir.Güvenlik politikalarının daha kesin bir tanımı içinformal güvenlik politikası modelleri de bulunmaktadır.
1.4. GÜVENLİK PRENSİPLERİ
Bu giriş bölümünün sonunda daha iyi güvenlik kararları alabilmek için bazı temel prensipler sunacağız:
Önce Gereksinimler:Bazılarınız için giriş bölümünü neredeyse bitiriyor olmamıza rağmen kriptografi konusuna değinmemiş olmamız şaşırtıcı olabilir.Kriptografi güvenlik amaçlarımıza ulaşmak için kullandığımız bir araçtır (fakat çok önemli bir araçtır). Takip eden konularda da görebileceğimiz gibikriptografi her şeyi çözen, her kapıyı açan bir çilingir değildir. Bazı saldırılar için kriptografi kullanmak yeterli ve anlamlı iken bazıları için ise gereksiz hatta zararlıdır (yanlış bir güvenlik hissi uyandırdığı, güvenliğin sağlanmamasına rağmen güvenli olunduğu zannına sebep olduğu için). Bu yüzden bir kripto veya herhangi bir güvenlik aracı ne kadar şık ve teknolojik duruyor olsa da, önce bu araca ihtiyaç duyup duymadığınızı kendinize sormalısınız.Güvenlik gereksinimlerinizi doğru ve kesin olarak belirlediğinizde etkili ve güvenli sistemler tasarlamanız çok daha kolay olacaktır.
Güvenlik Bir Zincir Gibidir:Güvenlik bir zincire benzer, bu yüzden sadece ve sadece en zayıf halkası kadar sağlamdır. Bu yüzden güvenlik gereksinimlerinizi belirlerken en zayıf halkanıza en yüksek önemi vermeniz gerekir. Basit bir örnek olarak kapınız eğer tek yumrukta yere yıkılacak kadar zayıf ise kapınıza yeni bir kilit almadan önce menteşelerini gözden geçirmeniz gereklidir.
Güvenlik Eğitimi: Eğitim genel olarak bir gerekliliktir ve konu güvenlik olunca durum değişmez hatta daha da önem kazanır. Sosyal mühendislik saldırıları olarak tanımlanan (gerçek kullanıcıların manipule edilerek (kandırılarak) bilgilerinin ele geçirilmesi) bazı saldırılar vardır ve bu saldırılardan sadece eğitim yolu ile kurtulabilirsiniz. Eğer birileri çalışanlarınızdan kredi kartı numarası benzeri kişisel gizli bilgilerini isterse ve almayı başarırsa teknik olarak bu konuda yapabileceğiniz çok bir şey yoktur. Böyle saldırılardan korunmak basit görünebilir fakat temel bazı güvenlik eğitimleri verilmedende mümkün olmamaktadır.
Düşmanınızı Tanıyın: Burada üç konu üzerinde durmak isteriz. Öncelikle, asla saldırganların yeteneklerini küçük görmeyin. Bal ağları (Honeynet) bilinçli olarak güvenlik açıkları bulundurulan deneysel ağlardır. Amaç, saldırıları ve saldırganları daha iyi anlamaktır. İlginç bir şekilde saldırganların bu açık bulunduran ağları bulup güvenlik açıklarını kullanmaya başlamaları ortalama bir saatten az vakit almaktadır.
İkinci olarak, fiziksel kaynakları korurken güvenliğin bazen çok ön planda olmamasını sebebi saldırganın elde edebileceği fazla bir şey olmamasıdır. Diğer taraftan, dijital dünyada, saldırılar uzaktan yapılabildiği için (yakalanma riskini minimize edecek şekilde), saldırganlar için saldırılarını bir sonraki günün gazetesine konu etmek yeterlidir çoğu zaman. Bu tür saldırılar maddi bir kazanç söz konusu olmadığı için bilinilirlik saldırıları olarak bilinirler.
Üçüncü nokta; içerideki kimselerin (örneğin çalışanlar) diğerpek çok kişinin bilemeyeceği şeyleri bilmeleri çoğu zaman organizasyon için en büyük risklerden birini teşkil etmektedir. İçerideki kimseler ya iyi kişiler (örneğin sosyal mühendislik saldırılarının mağdurları) veya kötü çalışanlar (örneğin atılmış eski çalışanlar) olabilir.
Güven (trust) kavramı bahsedilmesi gereken önemli diğer bir husustur. Güven, bir varlığın belirlenen kıstaslar içerisinde güvenilir ve inanılır şekilde faaliyet göstermesi olarak tanımlanabilir. Her ne kadar Türkçede bu iki terim için çok benzer kelimeler kullanılsa da, güven ve güvenlik ters anlamlara sahiptir. Çalışanlarınıza ne kadar az güveniyorsanız, organizasyonunuzdaki güvenlik seviyesi o kadar yukarıda olmalıdır.
Daha öncesinde tipik olarak fiziksel dünyada yapılan işleri İnternet ortamına geçirmenin yeni fırsatların yanısıra yeni riskleri de beraberinde getirdiğini görüyoruz. Bu risklerden en büyüğü güvenle alakalıdır. Mesela çevrimiçi bir alışveriş sitesinden bir ürün aldığınızda, ürünün tam olarak web sitesinde tarif edildiği gibi elinize geçeceğinden nasıl emin olabilirsiniz? Diğer bir deyişle, size tam anlamıyla yabancı olan birine nasıl güven duyabilirsiniz?
İtibar (reputation) terimi bir kişi hakkında insanların genel görüşünü ifade etmektedir.İtibar sistemleri (reputationsystems) çevrimiçi işlemlerde başka kişilerin güvenini kazanmada çok önemli bir rol oynamaktadır. Burada temel düşünce kişilerin geçmiş davranışları hakkında bilgi toplamak ve bu bilgiyi paylaşmaktır. Eğer bu güvenilir bir şekilde yapılabilirse satın alma kararlarınızı satıcılar hakkında daha önceden verilmiş geri bildirimlere bakarak verebilirsiniz. Elbette bu sınırlı bir sigorta sağlamaktadır, fakat İnternet’te hiç tanımadığınız insanlara güvenmenin en etkili yollarından biridir.
Güvenlik ve Kullanılabilirlik: Güvenlikte en büyük problemlerden biri kullanılabilirliği dikkate almadan güvenliği düşünmek ve uygulamaktır. Güvenlik kullanılabilirlik ile çakışan bir gereksinim midir? Bir diğer deyişle, güvenli sistemler daha az kullanıcı-dostu olmak durumunda mıdırlar? Teoride bu bir zorunluluk değildir, fakat pratikte yaşanan durum bu soruya evet dememizi gerektirir. Emin olduğumuz bir şey varsa o da güvenlik sistemi ne kadar az kullanışlı ise o kadar az kullanıldığı ve bu durumun da güvenlik seviyesini düşürdüğüdür. Sistemin kullanılabilirliği düşük ise kullanıcılar güvenlik özelliklerini kapatacak veya sistemin etrafından dolaşacak yollar bulacaklardır. Mesela, bilgisayar sisteminiz daha yüksek güvenlik için daha uzun bir parola gerektiriyor olabilir, bu durumda parolalarını hatırlayamayacak kullanıcılar parolalarını bir küçük kâğıda yazıp bilgisayarlarının yanına yapıştırabilirler. Bu durum güvenlik – kullanılabilirlik ikilemi ile alakalı ilginç bir örnektir.
Güvenlik ve Performans: Güvenlik mekanizmaları çoğunlukla ekstra sistem kaynakları gerektirirler (işlemci gücü, bant genişliği, vs.) 1980’lerde ve 1990’larda işlemsel ve iletişimsel kaynaklar sınırlıyken tasarımcıların ve kullanıcıların güvenlik ve performans arasında bir seçim yapmaları gerekiyordu. Moore kanununu (işlemci performanslarının fiyat sabitken her 18 ayda bir ikiye katlanma durumu) hatırlarsak şu anda performans açısından çok daha iyi bir durumda olduğumuzu ve güvenlik konuları için verimliliğin çok daha az kritik hale geldiğini söyleyebiliriz. Fakat hala kaynakları sınırlı ve küçük ortamlarda (örneğin akıllı kartlar, RFID çipler, vb.) ne tür güvenlik sistemlerinin kullanılacağı performans açısından hayli önemlidir. Performansın önemli olduğu diğer bir örnek çok sayıda kullanıcıya hizmet veren sunucu siistemleridir.
Son olarak: Gollmann’ın bilgisayar güvenliği ile ilgili prensiplerini paylaşıyoruz. DieterGollmann bir güvenlik sistemi tasarlanırken karar verilmesi gereken önemli hususları aşağıdaki sorular ile özetlemiştir.
“Bir uygulamada koruma mekanizmaları veriye mi, işlemlere mi yoksa kullanıcılara mı odaklanmalıdır?”
“Güvenlik mekanizması bilgisayar sisteminin hangi katmanında (Uygulamalar, Hizmetler, İşletim Sistemi, İşletim Sistemi Çekirdeği, Donanım) bulunmalıdır?”
“Basitlik ve daha fazla güvenceyi, özellik açısından daha zengin ve güvenlikli bir ortama tercih ediyor musunuz?” (basit bir sistemin daha iyi tanımlanabileceğini ve bu sebeple beklendiği gibi çalışma ihtimalinin daha büyük olduğuna değinilmektedir.)
“Güvenliği tanımlayan ve uygulayan görevler merkezi bir sistem ile mi yürütülmeli yoksa sistemin bileşenlerine mi bırakılmalı?”
“Bir saldırganın güvenlik mekanizmasının bir alt katmanına ulaşmasını nasıl önleyeceksiniz?”
Bu son soruyu biraz daha açarak giriş bölümünü sonlandırıyoruz. Bizim sunduğumuzun aksine Gollmann’ın listesi bu noktaya kadar daha teknik bir listedir fakat son prensip fiziksel ve organizasyonel güvenlik ölçütlerinin teknik ölçütler ile birleştirilmesini gerektirmektedir.
Bir örnek olarak, bilgisayarınızın fiziksel olarak güvende olmadığını düşünün. O zaman işletim sisteminde ne kadar etkin erişim kontrolü mekanizmalarınız olursa olsun bir saldırgan basitçe bilgisayarınızın yerini öğrenip diskinizdeki verilere fiziksel olarak ulaşabilir ve verilerinizi okuyabilir. Bu sebeple alacağınız daha yüksek katmandaki (işletim sisteminde) güvenlik önlemleri ancak saldırganın daha aşağı seviyelerde (fiziksel erişim) bir saldırı yapamaması durumunda etkilidir.
DEĞERLENDİRME SORULARI
TARTIŞMA/ PEKİŞTİRME SORULARI

BÖLÜM 2: ŞİFRELEME TEKNİKLERİ VE ALGORİTMALARI
2.1. ŞİFRELEMEYE GİRİŞ
Matematiğin bir alt kolu olarak düşünülebilen kriptoloji (şifreleme) bilimi bilgi güvenliğini sağlamada en önemli araçlardan biridir. Fakat şifreleme ve güvenlik birbiriyle eş anlamlı kelimeler değildir. Bilgi güvenliğini bir kapıya benzetirsek, şifreleme bu kapının kilididir. Kapı güvenliği için kilit dışında başka düşünülmesi gereken faktörler de vardır (örneğin kapının menteşeleri yeteri kadar sağlam değilse bu kapı bir omuz darbesi ile açılabilir). Öte yandan kilit veya şifreleme "izin verilen giriş" ile "izin verilmeyen giriş" arasında bir ayrım yaptığı için çok daha kritik olabilir. Menteşe gibi kapının diğer parçaları böyle bir ayrım yapmak durumunda değillerdir, bu sebeple daha basit bir tasarıma sahiptirler.
Şifre bilimini de kolaylık açısından iki altbilime ayırabiliriz. Kriptografi güvenli bir şekilde verinin veya bilginin şifrelenmesi ile ilgilenirken, kriptanaliz (şifre çözme)şifrelenmiş mesajların tekrar eski haline dönüştürülmesine (şifrelerin kırılmasına) çalışır. Bir anlamda,kriptografinin tersidir.Kriptografi ve kriptanaliz kriptoloji çatısı altında toplanırlar.
Kriptoloji= Kriptografi + Kriptanaliz
(Bazen, kriptografiterimi kriptoloji yerine de kullanılmaktadır.)
Şifreleme mesajın üçüncü kişilere doğru bir anahtara sahip olmadan anlam ifade etmeyecek şekilde bir işlemden geçirilerek değiştirilmesidir. Şifre çözme şifrelenmiş bir mesajı aynı anahtarı kullanarak orijinal formuna döndürme işlemidir. Şifreleme rastgeleyapılan bir işlem değildir, tam aksine orijinal mesajın geri getirilebilmesini sağlayan bir şifre çözme işlemine sahip olmalıdır. Şifre bilimi terminolojisinde mesajın kendisine düz metin(plaintext), şifreleme sürecinin çıktısına şifre metin (ciphertext) ve değişimde kullanılankriptografik metoda da şifre (cipher) denir.Buradakriptografik algoritmaveya metot gizli tutulmaz, herkes tarafından bilinir. Diğer taraftan anahtar sadece iki taraf (şifreleyen ve şifre çözen) tarafından bilinmelidir.
Düz metin, şifre metin ve anahtar kavramlarını bir matematiksel eşitlik kullanarak ilişkilendirmek genelde faydalı bir yoldur. C = EK(P) formülüdüzmetin P’nin anahtar K kullanılarak şifrelenmesi (E, Encryption sözcüğünün başharfidir) yolu ile şifremetin C’nin elde edildiğini ifade eder. Benzer birşekilde, P = DK(C) formülü C’nin şifresinin çözülmesinin sonucunda düzmetinin elde edileceğini gösterir (D, Decryption sözcüğünün başharfidir). Sonuç olarak denilebilir ki düzmetin önce şifrelenir sonra aynı anahtarla şifre çözülür ise yine aynı düz metin elde edilir.
DK(EK(P)) = P

Şekil 1. Şifreleme ve şifre çözme işlemlerinin genel uygulanışı
(not: Yukarıdaki şekil Türkçeye çevrilecek. Kelimelerin anlamları: plaintext: düz metin, encryption: şifreleme, method: metot, key: anahtar, listen: dinleme, intruder: saldırgan, alter: değiştirme, openchannel: açık kanal, ciphertext: şifre metin, decryption: şifre çözme)
Şekil 1, şifre ve şifre çözme işlemlerinin uygulanışını daha açık şekilde anlatmaktadır. Burada önemli olan bir husus saldırganın sadece açık kanala ve şifreli metine erişiminin olduğu kabulüdür. Saldırganın sahip olduğu yetenekler ve ne tür bilgilere ulaşabildiği şifreleme biliminde önemli bir konudur ve tekrar değinilecektir.
Yukarıda, şifreleme ve şifre çözme işlemlerinin genel işleyişi anlatılırken iki önemli konu üzerinde fazla durulmamıştır. Bu konular üzerinde tartışmamızı biraz daha açalım:
Şifreleme Anahtarı:
Şifreleme konusunda belki de en önemli kavram anahtar kavramıdır. Şifreleme anahtarı şifreleme metodunun (işlevinin) bir parametresidir ve genelde bir bit dizisi ile ifade edilir. Anahtar olmadan şifreleme metodu bir çıktı üretemez. Şifreleme biliminde 1977-1978 yıllarına gelinceye kadar şifreleme ve şifre çözme işlemleri için aynı anahtarın kullanılması mümkün olan ve uygulanan tek yöntem idi. 1977'de Diffie ve Hellmantarafından yazılan bir makale ile şifreleme ve şifre çözme anahtarının birbirinden farklı olduğu ve şifre çözme anahtarının şifreleme anahtarından üretilemediği "Açık-anahtarlı şifreleme" fikri ortaya atılmıştır. Şifreleme bilimini derinden etkileyen ve şifreleme uygulamalarının çok genişlemesine yol açan bu yeni kavram bir sonraki bölümün konusudur. Bu bölümün geri kalan kısmında ise şifreleme ve şifre çözme anahtarının aynı olduğu "Gizli- anahtarlı şifreleme" konusu anlatılacaktır. Gizli-anahtarlı şifrelemeşifreleme ve şifre çözme anahtarları aynı olduğu için simetrik şifreleme, buna karşın açık-anahtarlı şifreleme de asimetrik şifreleme olarak da isimlendirilir.
Kerckhoffs Prensibi: Hollandalı profesörAugusteKerckhoffs tarafından 1883 yılında yazılmış Askeri Kriptografi adlı makalede şifre tasarımına ilişkin altı tane prensip yer almaktadır. Bu prensiplerden ikincisi "bir sistemin tasarımı gizliliğe gerek duymamalı ve sistemin ortaya çıkarılması tarafları sıkıntıya düşürmemelidir" şeklinde verilmiştir. Bu prensip bir şifreleme sisteminin güvenliğinin sadece anahtarın gizliliğine bağlı olmasını, sistemin herhangi bir diğer parçasının gizliliğine bağlı olmamasını gerektirir.
Üzerinden 130 yılı aşkın bir süre geçmesine rağmen bu önemli prensibin evrensel bir kabul gördüğünü söylemek mümkün değildir. Örneğin GSM hücresel haberleşmesinde de kullanılan A5/1 algoritmasının tasarımı başlangıçta gizli tutulmuş, sonrasında ise 1999 yılında ters-mühendislik yöntemi ile algoritmanın tümü açığa çıkarılmış ve kriptanaliz yöntemleri bu algoritma için başarılı bir şekilde uygulanmıştır. Günümüzde bu algoritmanın zayıf bir algoritma olduğunu ve kişisel bir bilgisayar kullanılarak kırılabildiğini biliyoruz. İlerleyen bölümlerde Kerckhoffs Prensibinin başarılı bir şekilde uygulandığı ve herkese açık bir yarışma sonunda belirlenmiş AES (Advanced EncryptionStandard - Gelişmiş Şifreleme Standardı) algoritmasını tanıyacağız. AES algoritmasına günümüze kadar başarılı pratik bir kriptanaliz saldırı olmamıştır.
Şifre Çözme Türleri
Önceden de belirttiğimiz gibi, şifre çözme (kriptanaliz) kriptoloji biliminin başkaları tarafından kullanılan şifreleme sistemlerini kırmak üzerine çalışan alt dalıdır. Bilinen en eski kriptanaliz kitabı olan “Şifre Çözme Üzerine bir İnceleme” MS 801 ve 873 arasında yaşamış El-Kindi’ye aittir. El-Kindinin söz konusu kitabı İstanbul'da eski bir kütüphanede bulunmuştur. El-Kindi’nin kitabındaki ana konular kriptanalizmetotları ve Arapça frekans analizidir.
Tarihsel olarak, frekans analizi (bir doğal dilde kullanılan harflerin teker teker veya gruplar halinde ne sıklıkta kullanıldığı bilgisi) basit şifreleri kırmanın ana yöntemi olmuştur. Modern kriptanalizde ise şifreler daha karmaşık oldukları için frekans analizi dışındaki diğer matematiksel tekniklerin de kullanıldığını görüyoruz.
Şifre çözme, şifre çözme işiyle uğraşan kriptanalistin ulaşabileceği bilgi çeşit ve miktarına göre bazı alt gruplara bölünebilir. Şifre çözme türleri şunlardır:
Sırf şifremetinsaldırısı:Kriptanalist sadece şifremetin örneklerini ve düzmetin ile ilgili bazı istatistiksel özellikleri bilmektedir.
Bilinen düzmetin saldırısı: Kriptanalistşifremetin/düzmetin çiftlerinin örneğini veya örneklerini elde etmiştir.
Seçili düzmetin saldırısı: Kriptanalist bir kaç düzmetin oluşturabilir ve bunların şifremetinlerini üretebilir.
Uyarlamalı seçili düzmetin saldırısı: Kriptanalist bir kaç seçili düzmetin saldırısı yapar ve elde ettiği bilgileri yeni saldırılar için kullanır.
Unutmayalım ki, amaç her zaman anahtarın tamamını bulmak veya tüm şifremetinin şifresini çözmek değildir. Bu yolda yardımcı olabilecek her türlü bilgiyi elde etmek çoğu zaman saldırıyı başarılı bir saldırı olarak adlandırabilmek için yeterlidir.
Anahtar Uzayı (Alanı) anahtarın sahip olabileceği tüm muhtemel değerleri ifade eder. Anahtaruzayının boyutu(tüm olası anahtarlar kümesinin büyüklüğü) kritiktir, zira eğer yeterince büyük değilse, düzmetin-şifremetin çiftleri yardımı ile saldırgan tüm anahtar uzayını deneyerek doğru anahtarı bulabilir. Geniş kapsamlıanahtar arama bazen kaba kuvvet saldırısı (brute-forceattack) olarak da nitelenir. Çünkü saldırganın herhangi bir kriptanaliz tekniğini kullanmasına gerek yoktur.Kriptanalistin hedefinin kaba kuvvet saldırısından daha etkili bir saldırı bulabilmek olduğunu söyleyebiliriz.
2.2. BASİT ŞİFRELEME ALGORİTMALARI
Bu bölümde bazı basit şifreleme algoritması örnekleri üzerinde duracağız. Bu algoritmalardan çoğu modern sistemlerde kullanılmamaktadır. Fakat şifrelemenin nasıl çalıştığının anlaşılması için bu örnekler yardımcıdır.
Kaydırmalı Şifreleme (ShiftCipher): En eski şifreleme yöntemlerinden biri Sezar şifresidir. Julius Sezar'a ait olduğu söylenmektedir. Bu yöntemde ‘a’ ‘D’, ‘b’ ‘E’, ‘c’‘F’ ... ve ‘z’ ‘C’ olur. Bu fikrin genel uygulaması şifre metinin her zaman ‘3’ harf yerine ‘k’harf ötelenmesine dayanır. Bu durumda, ‘k’ şifrenin anahtarı olur. Bu işlem aşağıdaki şekilde gösterilmektedir (şekil 2). (Genel olarak, kriptolojide şifreleyen ve şifre çözen kişilerin isimleri olarak Alice ve Bob kullanılmaktadır).

Şekil 2. Kaydırmalı şifreleme metodu ile "ATTACK" kelimesinin "3" anahtarı ile şifrelenmesi.
Not: Türkçeye çevrilecek.Ciphertext is accessibleandseen (Open Channel): Şifremetin erişilebilir ve görülebilir (Açık kanal)
Daha teknik terimler ile kaydırmalı şifreleme yöntemi şu formüller ile açıklanabilir:
C = EK(P) = P + K mod n
P = DK(C) = C – K mod n
Burada ‘n’ dildeki harflerin sayısını gösterir. Mesela bu İngilizce için 26, Türkçe için 29'dur. Türkçe için düzmetin (P), şifre metin (C) ve anahtar (K) 0 ile 28 arasında tamsayı bir değer alır (A'dan Z'ye kadar her bir harf 0 ile 28 arasındaki bir tamsayı ile ifade edilir). Bu durum kısaca şöylegösterilebilir:
P = C = K = Z29
Toplama ve çıkarma işlemleri modüler aritmetik kullanılarak yapılır.
Örnek:
15+21 = 10 mod 26.
10 – 21 = 15 mod 26
Değiştirmeli Şifreleme (SubstitutionCipher):P = C=Z29olsun. K, 29 sembolün (0, 1, ..., 28’in) tüm permütasyonları olsun. Tüm π∈ K permütasyonlarıiçin,
C = Eπ(P) olarak tanımlanabilir. C şifremetinden P düzmetine dönüştürme işlemi de π∈ K permütasyonunun tersi olan π-1 ile yapılabilir.
Örnek: Aşağıdaki permütasyon tablosu yardımıyla KRİPTO kelimesini şifreleyiniz.
| A | B | C | Ç | D | E | F | G | Ğ | H | I | İ | J | K | L | M | N | O | Ö | P | R | S | Ş | T | U | Ü | V | Y | Z |
| c | t | u | ğ | ş | i | n | s | e | ö | z | o | a | h | r | ç | b | y | ü | k | p | g | d | f | L | m | j | v | ı |
Çözüm: KRİPTO kelimesini oluşturan her bir harf için hangi harfin karşılık geldiğini yukarıdaki tablodan bulup şifreleme işlemini her harf için tek tek yapabiliriz:
K -- h, R -- p, İ -- o, P -- k, T -- f, O -- y
Eπ(KRİPTO) = hpokfy
Anahtar uzayı Türkçe için 29 alfabetik karakterin tüm permütasyonlarındanoluşur.Bupermütasyonların sayısı 29! kadardır (4.0x1026’dan büyük bir sayıdır).Bu yüzden, tüm anahtarları aramak modern bir bilgisayar için bile yeterince hızlı değildir. Fakat değiştirmeli şifreleme başka metotlar ile kırılabilir. Örneğin, elimizde yeteri kadar şifre metin bulunuyorsa ve düz metinin harf sıklık bilgisi (frekans analiz sonuçları) elimizde ise yukarıdaki permütasyon tablosunu deneme-yanılma yolu ile oluşturabilir ve şifreyi kolayca kırabiliriz.
Vijener Şifreleme (VigenereCipher):P = C = K= (Z29)molsun (m sabit bir pozitif tam sayı). Bu eşitlik P, C ve K'nin m uzunluğunda olduğunu göstermektedir. K = (k1,k2, ..., km) gibi bir anahtariçin,
EK(x1,x2,...,xm)=(x1+k1,x2+k2,...,xm+km) ve
DK(y1,y2,...,ym)=(y1-k1,y2-k2,...,ym-km)
olarak tanımlanabilir (tüm işlemler ise Z29’da yapılmaktadır).
Daha önce görmüş olduğumuz iki şifreleme yöntemi mono-alfabetiktir (düzmetindeki tüm harflerşifremetin olarak her zaman aynı harfe dönüştürülür).VijenerŞifrelemepoli-alfabetiktir (dönüşüm şekli – hangi harf ile yer değiştirileceği – metindeki harfin yerine göre değişir).Poli-alfabetik özellik Vijener Şifresini frekans analizine karşı daha güçlü kılar.Fakat,Kasiski 1863’te Vijenerşifelemeyi kırmayı başarmıştır.
Permütasyon Şifreleme (PermutationCipher): Bu şifreleme yönteminde düzmetin bir değişime tabi tutulmaz. Sadece, düz metindeki karakterlerin yerleri değiştirilir. Örneğin KRİPTO kelimesi TİRKOP şekline getirilir. Genelde permütasyon işlemi tek başına kullanılmaz.
Önemli Not: Değiştirme ve Permütasyon işlemleri şifrelemede kullanılan iki ana öğedir ve modern kripto algoritmalarında da karşımıza çıkacaktır.
2.3. MODERN ŞİFRELEME ALGORİTMALARI
Modern uygulamalarda, simetrik şifreleme için iki ana yöntem uygulanmaktadır:
1. Akış şifreleme (Streamcipher): Şifrelemede her bir sembol ayrı ayrı işlenir. Şifreleme kuralı düz metin içerisindeki sembolün yerine göre değişir.
Örnek: Vijener, RC4, A5.
2. Blok şifreleme (Blockcipher): Birden fazla düz metin sembolü tek bir blok olarak işlenir (şifrelenir).
Örnek: DES, AES, Twofish, RC6.
Biz bu bölümde en yaygın kullanılan algoritmalardan olan DES ve AES algoritmalarını kısaca tanıyacağız:
DES (Data EncryptionStandard - Veri Şifreleme Standardı): 64 bit uzunluğundaki bir düzmetin dizisi (bloğu) 56 bitlik bir anahtar ile şifrelenir. Algoritma üç basamaklıdır:
1. Başlangıç Permütasyonu (BP): x bloğuna uygulanır ve xoelde edilir. xo, 32 bit uzunluklarındaL0 sol yarım bit dizisi veR0sağ yarım bit dizilerinden oluşur.
xo= BP(x)=L0 R0
2. 16 round: Daha sonra belli bir fonksiyon 16 kez kullanılarak şifreleme gerçekleştirilir.
3. Ters Permütasyon: Son olarak 1. adımdaki permütasyonun tersi uygulanır.
y = BP-1(R16L16)
DES şifrelemenin bir roundu (döngüsü) Feistel yapısı denilen işlem ile gerçekleştirilir ve aşağıdaki şekildegösterilmektedir.DES’in çalışmasındaki ana işlemi"f" fonksiyonu belirlemektedir. Bu fonksiyon şubasamaklardan oluşur:
1. Genişleme fonksiyonu olan E ile 32 bitlik girdi değerinden48 bit bir değer üretilir. Bu değerde girdi değerindeki 16 bitiki kere kullanılır.
2. B = E(A) + J değeri hesaplanır (J anahtardan üretilen 48 bit uzunluğundaki bir değerdir). Buradaki toplama olarak gösterilen işlem XOR (exclusiveor - dışlamalı veya) işlemidir.
3. 8 tane değiştirme kutusu (S-kutusu - S-box) kullanılarak Cj=Sj(Bj) değerleri hesaplanır. (j indeksi 1 ve 8 arası değerler alır).
4. Sabit bir permütasyonolanP uygulanır.
Anahtar planı (Keyschedule) tabiri 56-bitlik anahtardanonaltı adet döngünün her biri için 48-bitlik anahtar üretme yöntemini ifade etmek için kullanılır. S-kutuları her 6-bit girdi için 4-bitlik bir çıktı üretir. Gördüğümüz üzere bir önceki konuda gördüğümüz permütasyon ve değiştirme işlemleri günümüzün modern şifrelerinde de kullanılmaktadır.
Önemli Not: DES’in basit anlatımı sonucunda herhangi birinin rahatlıkla bir şifreleme algoritmasıgeliştirebileceği düşünülmemelidir. DES tasarımında önemli olan pek çok faktör anlaşılması için ileri düzey kriptanaliz bilgisi gerektirdiği için burada açıklanmamıştır.Fakat tasarım sürecinde verilen pek çok kritik güvenlik kararı olduğu bilinmelidir. Mesela, eğer üçüncü ve yedinci S-kutularının yerleri değiştirilirse DES'in bir kat daha az güvenli olacağı yapılan analizlerde gösterilmiştir.

Şekil 3. DES algoritmasında kullanılan Feistel yapısı
DES ile ilgili tartışmalar: 1970’lerin başına kadarkriptografi alanında askeri alanın dışındaki çalışmalar sistematik değildi. DESgeliştirilen ilk ticari şifrelerden biridir. DES, daha önce IBM’de bir ekip tarafından geliştirilenLucifer şifresine dayanmaktadır. DES’in ABD devlet standardı olarak kabulükriptografiye geniş bir ilgi doğurdu ve bu sayede günümüzde bilinen anlamıylakriptografibilimi doğmuş oldu. Diğer taraftan, DES şu iki sebepten dolayı pek çok tartışmanın da konusu olmuştur.
Lucifer’in yapısı ciddi biçimde değiştirilmişti ve DES’in tasarım kriterleri asla açıklanmamıştı.
DES anahtar boyutu 128-bitten 56-bite düşürülmüştü.
Anahtar aslında 64-bit gibi görünmektedir fakat 8 bit hata kontrolü amacıyla kullanılır (tek eşlik kontrolü). Bununla birlikte, anahtar boyuna olan eleştiriler DES’inpek çok uygulamada en sık kullanılan şifre olmasını engellemedi.
Tasarlandığı ilk günden bu yana DES’i kaba kuvvet saldırısından daha hızlı bir şekilde kırabilecek üçönemli saldırı türü keşfedildi: diferansiyel kriptanaliz, lineer kriptanaliz ve geliştirilmiş Davies saldırısı. Yine de bu saldırılar için örneğin 240 veya daha fazla düz metin - şifre metin çifti gerekmesi gibi gerçekçi olmayan gereksinimler olduğu için pek tehdit olarak algılanmadılar.
İlginç bir durum ise DES’in tasarımcılarının diferansiyel kriptanaliz yönteminin akademik camia tarafından keşfinden çok önce haberdar olmalarıve bu saldırıları dikkate alarakDES’i tasarlamış olmalarıydı. DES’intasarımkriterinin gizli tutulma sebeplerinden biri de zaten buydu. Bu sırların pek çoğu diferansiyel kriptanalizin gelişimi ile herkese açıldı ve tasarımcılar tarafından da doğrulandı.
Şu anda DES’inkriptanalizineilişkin en tehlikeli saldırı hala kaba kuvvet saldırısıdır.1977’de, özel olarak DES-şifresi çözen paralel bir bilgisayarın, 20 milyon $’lık bir maliyet ile anahtarı tek günde bulabileceği öne sürüldü (fakat o zaman bu maliyet sadece NSA benzeri organizasyonlar için karşılanabilir idi). GünümüzdeDES’i standart bilgisayarlarla kırmak bile mümkündür. (Moore kuralını hatırlayalım). DES önümüzdeki zaman içerisinde ancak daha az güvenli olacaktır, çünkü anahtarı yeteri kadar uzun değildir.
Kısa Anahtar Sorununun Çaresi: DES’in kısa anahtar problemi uzun zamandır bilinmektedir. Bu probleme farklı bazı çözüm yöntemleri önerilmiştir:
Üçlü-DES (3DES)
DESX
Bağımsız alt anahtarlar
Yavaş anahtar planı
Anahtara bağlı S-kutuları
Sadece 3DES’i - en sık kullanılan çözümü - burada açıklayacağız. Alttaki şekilde de görüldüğüüzere, 3DES iki farklı anahtar ile (K1 ve K2) üçlü bir şifreleme (Şifrele-Şifre Çöz-Şifrele)yapmaktadır.

Şekil 4. 3DES şifreleme yöntemi.
Üç yerine iki anahtar kullanılmasının sebebi 112 bit anahtarların kaba kuvvet saldırılarınadayanıklılık konusunda yeterli görülmesidir. K2'nin şifre çözme şeklinde kullanılmasınınsebebi K1 = K2 durumunda 3DES'iDES’e eşit kılmaktır. Bu sayede bu sistem DES sistemi ile uyumlu çalışabilmektedir. Örneğin bir 3DES donanımı ile şifrelenmiş bir mesajın DES donanımı ile çözülebilmesi için 3DES için anahtarları K1 = K2 eşitliğini sağlayacak şekilde seçmek yeterlidir.
AES (AdvancedEncryptionStandard - Gelişmiş Şifreleme Standardı):
3DES’in problemi güvenlikten çok hızıdır. 3DES çok yavaş bir algoritmadır (zaten yavaş bir algoritma olan DES’den 3 kat daha yavaştır). ABD’de bulunan NIST (NationalInstitute of StandardsandTechnology) kurumunun DES’in artık sonunun geldiğine ve yeni bir standartla değiştirilmesi gerektiğine karar verme sebebi de budur. NIST, 1997 yılında doğrudan yeni bir şifre tasarlamak veya tasarlatmak yerine kriptografi dünyasından öneriler istedi ve bir yarışma düzenledi. Bu yol ile yeni standardın güvenliği ile alakalı spekülasyonların da sona erdirilebileceğini düşünmüştü.
Kriptografi dünyasında bir hayli uzun süren araştırmalar ve tartışmalardan sonra, NIST 26 Kasım 2001 tarihinde Rijndael olarak bilinen algoritmayı seçti ve AES olarak standartlaştırdı.
AES’inDES’ten farklı bir yapısı vardır. Bir Feistel yapısı kullanmamaktadır. AES değiştirme ve permütasyonkullanan, 128-bit bloklu, farklı versiyonlarında (AES-128, AES-192, AES-256)128/192/256 bitlik farklı anahtar boyutları vesırasıyla 10/12/14 döngü içeren bir şifredir. AES’in şifreleme metodu aşağıda özetlenmiştir:
İlk işlem 16-baytlık düzmetini 16-baytlık döngü anahtarı ile XOR’lamaktır (1 bayt = 8 bit).
Daha sonra 16 bayttan her biri, 8-bit girdileri 8-bit çıktılara çeviren S-kutularının birer indeksi olarak kullanılır.
Bunu bayt konumlarının permütasyonlarının alınması izler.
Son olarak, baytlar geri döndürülebilirler doğrusal bir fonksiyondan geçirilirler.
AES’de, DES’teki fonksiyonel blokların bazılarını görebiliriz. (XOR işlemi veriye anahtar bilgilerini ekler, S-kutularıdönüşümün doğrusal olmasını engeller, bayt karıştırma ve doğrusal fonksiyon işlemleridağılma - difüzyon sağlar). Dönüşümün doğrusal olmaması “doğrusal kriptanaliz” yöntemine karşın bir koruma sağlar. Dağılma terimi ile kastedilen özellik düz metin ile şifre metin arasındaki ilişkinin mümkün mertebe karmaşık hale getirilmesidir. Genelde dağılma kıstası düz metindeki 1 bit değişiklik sonucunda şifre metinde oluşan değişiklik miktarı ile ölçülür ve idealde şifre metinin ortalamada yarısının değişmesi beklenir.
AES şifrenin her bölümü için farklı bir görev bulunduran temiz bir tasarıma sahiptir. Şu ana KadarAES’de bir güvenlik açığıbulunamamıştır.Bazıkriptografi uzmanları gelecekte AES’e teorik saldırılar olsa bile bu saldırıların pratikte etkili olmasını beklemediklerini söyleselerse de hiç kimse ileride nasıl bir gelişme olabileceğini kestiremez. Fakat şunu söyleyebiliriz ki AES’i doğru ve güvenilir bir şekilde gerçekleştirirseniz şifrelemeyi sizin kendinizin tasarladığı bir algoritmaya nazaran çok daha güvenli hale getirmiş olursunuz (Kerckhoffs Prensibini hatırlayalım).
2.4. BLOK ŞİFRELEME KİPLERİ
Blok şifreler (DES, AES, vb.) sadece sabit-boyutlu blokları şifrelerler. Eğer bir blok boyutundan daha kısa bir düzmetini şifrelemek istiyorsanız basitçe düz metinin sonuna ekleme (padding) yapabilirsiniz.
Blok boyutundan büyük metinler için ise blok şifreleme kiplerinden birini kullanmalısınız. En basit ve maalesef en az güvenli çalışma kipi Elektronik Kod Kitabı (Electronic CodeBook-ECB) olup, mesajları blok boyutlarına bölüp her bloğu teker teker gizli anahtar ile şifrelemeye dayanır. ECB kullanıldığında eğer bir mesaj aynı blokları barındırıyorsa bu bloklara karşılık gelen şifre metinler de aynı olacaktır. Bu problem aşağıdaki şekilden de anlaşılacağı üzere saldırgana önemli bilgiler sağlayabilir. ECB ile ilgili diğer bir sorun da saldırganının blokların yerlerini kendi avantajına olacak şekilde düzenleyebiliyor (değiştirebiliyor) olmasıdır.
Başka çalışma kipleri ECB’nin bahsedilen problemlerini çözmek için öne sürülmüştür:
Şifre Blok Zincirleme (CipherBlockChaining- CBC): CBC’de ilk düzmetin bloğu şifrelenmeden önce rasgele bir sayı ile XOR işlemine tabi tutulur(bu sayıya başlama vektörü (initializationvector - IV de denir). Takip eden her düz metin bloğu önceki şifremetin bloğu ile XOR’landıktan sonra şifrelenir. Bu yöntem sayesinde hiçbir zaman aynı düzmetin aynı şifre metine sahip olmayacaktır.
Çıktı Geribesleme Kipi (Output Feedback Mode- OFM): OFM’nin işlemesi akış şifrelerininki gibidir.Şifreleme, mesaj bloklarının OFM tarafından üretilen tek seferlik bloklar ile XOR işlemine tabi tutulması ile sağlanır. İlk tek seferlik blok bir başlama vektörünün şifrelenmesi ile ortaya çıkarılır. Daha sonra, önceki bloklar şifrelenerek sonraki tek seferlik bloklar elde edilir.
Sayaç Kipi (Counter Mode-CM): Bu kip OFM’ye benzer, tek fark ikinci tek seferlik bloğun
IV+1’in şifrelenmesi, üçüncünün IV+2'nin şifrelenmesi ve n. bloğun IV+n-1 ile elde edilmesidir.
Şifre Geribesleme Kipi (Cipher Feedback Mode-CFB): Tek seferlik blok önceki şifremetin
bloğunu şifreleyerek elde edilir.
Unutmayalım ki, OFB ve CM kiplerinin büyük bir avantajı şifrelemede kullanılacak blokların önceden hesaplanabilir olmasıdır. Mesaj şifrelemeye hazır olduğunda tek yapılması gereken XOR işlemidir. Bu durum da gerçek zaman hızının büyük oranda artmasını sağlar.
2.5. AKIŞ ŞİFRELEME
Akış şifrelerinin blok şifrelerden aşağıda kısaca anlatılan farkları vardır:
Şifreleme boyunca sürekli olarak değişen gizli bir durum (state) bilgisine sahiptirler.
Genellikle bloklar yerine bit akışları üretirler.
bakış doğrultusunda yaylımın özelliklerini
Bu yüzden akış şifreler iki ana kısımdan oluşurlar:
Durum-değiştirme fonksiyonu
Filtre (akış şifresinin çıktısını üretir)
Akış şifreleri genellikle blok şifrelerden daha verimli bir şekilde üretilebilirler. Bu yüzden,
akış şifreleri şifreleme dünyasında uzun süre hüküm sürmüşlerdir. Hızlı blok şifrelerinin
belirmesi ve blok şifrelerin CM, OFB veya CBC kiplerinde akış şifre benzeri davranabilmeleri ilginin blok şifrelere kaymasına sebep olmuştur. Üstelik genellikle güvenli bir akış şifresi tasarlamak güvenli bir blok şifre tasarlamaktan çok daha zordur.
DEĞERLENDİRME SORULARI
TARTIŞMA/PEKİŞTİRME SORULARI
İlgin (Affine) şifreleme algoritmasında şifreleme işlemi ingilizce alfabesi kullanıldığında ek(x) = ax + b mod 26 formülü yardımı ile gerçekleştirilir. Bu algoritmanın kullanıldığını bildiğinizi ve ingilizce “Thequickfoxjumpsoverthelazybrowndog” cümlesine ve bu cümlenin şifrelenmiş haline erişiminiz olduğunu düşününüz (seçilmiş açık metin saldırısı). Bu bilgi aynı algoritma ve anahtar ile şifrelenmiş tüm metinlerin şifresini çözmek için yeterli midir? Açıklayınız.Affine yerine Vijener (Vigenere) şifreleme algoritmasının kullanılması durumunda cevabınız değişir mi? Açıklayınız.
2008 yılında David Evans ve ekibi yaygın olarak kullanılan bir RFID etiketindeki kripto algoritmasının çalışmasına ilişkin tüm detayları ters mühendislik (reverseengineering) tekniği ile tespit ettiler. Bu algoritmanın daha önce herhangi bir ayrıntısı bilinmiyordu ve algoritma sadece donanımsal olarak gerçekleştirilmişti. Aynı çalışma ile bu algoritmanın zayıflıklarının olduğu ve kolay bir şekilde kırılabildiği de gösterildi. Bu RFID etiketinin güvenliği tasarlanırken hangi güvenlik prensibi unutulmuştur? Açıklayınız.
Vijener Şifreleme ve Türkçe alfabe kullanarak ve anahtarın “KRİPTO” kelimesi olduğunu varsayarak “Güzel bakan güzel görür” cümlesini şifreleyiniz.
Blok Şifreleme algoritmalarında neden çalışma kipleri (operationmodes) kullanmak gerektiğini açıklayınız.
Elektronik Kod Kitabı kipinin en belirgin güvenlik zaafının ne olduğunu belirtiniz.
BÖLÜM 3: AÇIK ANAHTARLAMALI ŞİFRELEME
3.1. AÇIK- ANAHTARLI ŞİFRELEMEYE GİRİŞ
Aşağıdaki şekilde de gösterildiği üzere asimetrik şifreleme olarak da bilinen açık anahtar şifrelemede gönderen ve alan tarafından paylaşılan tek bir gizli anahtar yoktur. Bunun yerine, her kullanıcı da iki anahtar vardır: şifre çözmede kullanılan ve kullanıcıya özgü bir özel (gizli) anahtar (DK), ve bu anahtara karşılık gelen ve gizli olması gerekmeyen (herkesle paylaşılan)bir açık anahtar (EK). Daha genel olarak açık-anahtarlı şifrelemede şifreleme ve şifre çözme işlemleri bu şu şekilde gösterilebilir:
Y= EK(X) ve X= DK(Y)

Şekil 6. Açık-anahtarlamalı şifreleme ve şifre çözme
Unutmayalım ki, güvenli bir işlem için EKdeğerindenDK’yı hesaplamak işlemsel olarak olanaksız olmalıdır.
Eğer birine özel (gizli) bir mesaj göndermek isterseniz, mesajı o kişinin açık anahtarı ile şifrelemeniz gerekir. Benzer bir şekilde, eğer o kişi size bir şey göndermek isterse, sizin açık anahtarınızı kullanmalıdır. Şifrelenmiş mesajı aldıktan sonra, açık anahtarınızı kullanarak düzmetine ulaşmak için şifremetinin şifresini çözebilirsiniz.
3.2. RSA ŞİFRELEME SİSTEMİ
Açık-anahtarlı şifrelemede şifreleme işlemi kolay, şifre çözme ise işlemsel olarak zor (imkânsıza yakın) olmalıdır (özel anahtara sahip olmayanlar için).Bir diğer ifadeyle, şifreleme işlemi tek-yönlü bir fonksiyon gibi davranmalıdır.
Tek yönlü olduğuna inanılan bir fonksiyon örneği şöyledir:
f(x) = xe mod n
n burada p ve q gibi iki büyük asal sayının çarpımı, e ise pozitif bir sayıdır.
Fakat yukarıdaki tek yönlü fonksiyon açık anahtarlı bir kripto sistemi kurmak için yeterli değildir. Sadece tek yönlü bir fonksiyon bularak bir açık anahtarlı kripto sistemi kuramazsınız. Çünkü fonksiyonun özel anahtar sahibi için tek yönlü olmaması gerekmektedir.Bu yüzden fonksiyonun ters çevrimi için gerekli gizli bilgileri sağlayan bir gizli kapı (trapdoor)bırakılmalıdır.Yukarıda tanımlanan fonksiyon için bir gizli kapı (ters çevirme yöntemi)bulduğumuzda, bu bizi RSA şifreleme sistemine götürecektir.
RSA güvenliği büyük sayıların çarpımının çarpanlarına ayrılmasının matematiksel olarak zor olmasına dayanır. Rivest, Shamir ve Adleman tarafından 1978 yılında bulunmuştur. İşleyişini anlamak için öncelikle bir kaç kavram tanıtılacaktır:
EulerPhi Fonksiyonu: φ(k), (1,...,k) arasındaki sayılardan k ile aralarında asal olanların toplam sayısını gösterir. Eğer p asalsa, φ(p)=p-1’dir. Eğer, n sayısı p ve q gibi iki asal sayının çarpımı ise φ(n)=(p-1)(q-1)’dir.
Euler’inKüçük Teoremi: aφ(k)=1 mod k (1≤a
Bu bilgilerden sonra RSA şifrelemesinin nasıl çalıştığı şu şekilde özetlenebilir:
İki anahtarı oluşturmak için iki adet büyük ve rastgele üretilmiş asal sayı p ve q seçilir ve n=pq değeri hesaplanır.
Daha sonra şifreleme anahtarı olarak rasgele bir e seçilir. Bu değer (e), (p-1)(q-1) değeri ile aralarında asal olmalıdır.
Son olarak genişletilmiş Öklid algoritması ile aşağıdaki eşitliği sağlayan şifre çözme anahtarı d hesaplanır.
ed = 1 mod (p-1)(q-1)
e ve n açık anahtardırlar, d ise özel anahtardır.
m mesajını şifrelemek için, mesaj önce n değerinden küçük bloklara ayrılır. Şifreleme formülü i. blok için basitçe şöyledir:
ci = mie mod n
Bir mesajın şifresini çözmek için, her şifrelenmiş blok için aşağıdaki hesaplama gerçekleştirilir:
mi = cid mod n
Bu işlemler ile Şekil 6’da gösterilen açık-anahtarlamalı sistem elde edilmiş olur. Çünkü aşağıdaki eşitlikler matematiksel olarak doğrudur.
cid = (mie)dmod n = mik(p-1)(q-1)+1 = mi . mik(p-1)(q-1) = mi . 1 = mi (hepsi mod n)
RSA şifreleme ve şifre çözme işlemleri için basit bir örnek Şekil 7'de gösterilmektedir.

Şekil 7. RSA algoritması ile şifreleme ve şifre çözme örneği
Eğer bir saldırgan n değerini çarpanlarına ayırabilirse RSA sistemini kırabilir. Çünkü n’nin çarpanlarına ayrılması (p-1)(q-1) çarpımının hesaplanmasını sağlar.Daha sonra, açık değer e kullanılarak genişletilmiş Öklid algoritması ile d elde edilebilir.
1024-bit sayıların çarpanlarına ayırılmasının günümüzün en yeni ve hızlı algoritmaları kullanılsa bile makul sürelerde kimse tarafından başarılamayacağına inanılıyor. 2048-bit modüle sahip şifreleme ise daha uzun süreli koruma sağlamak için tercih edilebilir fakat performansı bir hayli düşüktür.
3.3. AYRIK LOGARİTMA PROBLEMİ VE ŞİFRELEME UYGULAMALARI
Açık anahtarlı şifreleme algoritmaların bazısının(örnek: RSA) güvenliği çarpanlara ayırma probleminin zorluğuna bağlıdır. Diğer pek çok algoritma (DiffieHellman, Elgamal ve DSS gibi) ise ayrık logaritmanın hesaplanmasının zorluğundan hareketle geliştirilmişlerdir. Aşağıda önce bu problem tanıtılacaktır:
“Mod p’de bir İlkel kök” mod p’de üs alınarak sıfır olmayan (1’den p-1’e kadar) tüm sayıların üretilebildiği bir g sayısıdır.
Örnek: 5 sayısı mod 7’de bir ilkel köktür. Çünkü 1’den 6’ya tüm sayılar 5’in üsleri cinsinden ifade edilebilir.
51=5, 52=4, 53=6, 54=2, 55=3, 56=1 (hepsi mod 7'de)
Bu özellik aynı zamanda şu anlama gelir: herhangi bir y için, y = 5x mod 7 denklemini her zaman çözebiliriz.
Küçük örnekler deneme-yanılma yolu ileçözülebilir. Fakat büyük p'ler için bu hesaplamanın hızlı bir şekilde nasıl yapılacağı bilinmemektedir. Bu yüzden f : x -> gxmod p tek yönlü bir fonksiyondur.
Diffie-Hellman Anahtar Değişimi: Açık anahtar kriptografi kavramı Diffie ve Hellman tarafından ilk olarak icat edilip şifreleme ve imzalama için kullanılması önerildiğinde, açık anahtar şifreleme veya dijital imza için bir algoritma henüz bulunmamıştı. İki yıl sonra, 1978 yılında, RSA ilk açık anahtar şifreleme ve dijital imzalama algoritması olarak ortaya çıktı.
Fakat Diffie ve Hellmanayrık logaritma problemine dayanarak başka bir önemli problemi açık anahtar kriptografisi ile çözdüler. Bu problem anahtar değişimi problemiydi: iki kullanıcı sadece herkese açık bir ortamda mesajlaşarak ortak bir anahtar üzerinde nasıl anlaşabilirler?
İki kullanıcının (Alice ve Bob) bundan önceki konuda anlatılan gizli anahtar algoritmalarından birini (örneğin AES) kullanarak iletişim kurmak istediklerini varsayalım.Gizli iletişime başlayabilmek için ortak bir gizli anahtarda anlaşmaları ön şarttır. Eğer bunu yerine getirecek bir güvenli kanal yoksa tek şansları bunu açık bir kanaldan yapmaktır. Bu işleminDiffie-Hellman anahtar değişim algoritması ile nasıl mümkün kılındığı ise şöyle tanımlanmıştır:
Başlangıçta herkes tarafından bilinmesinde bir problem olmayan büyük bir asal sayı p ve modp’de ilkel kök olan bir g seçilir.
Hem Alice hem de Bob, birbirlerinden bağımsız bir şekilde, 1 ile p-2 arasında rasgele bir sayı seçerler. Alice’in gizli sayısının Sa, Bob’un gizli sayısının Sbolduğunu varsayalım.
Alice Ta = gSa mod p ‘yi hesaplar ve Bob’a Ta‘yı gönderir.Bob Tb = gSb mod p‘yi hesaplar ve Alice’e Tb‘yi gönderir.
Alice (Tb)Sa mod p’yi hesaplar.Bob (Ta)Sb mod p’yi hesaplar.
Hem Alice hem de Bob aynı sayıya (gSaSb) ulaşmışlardır ve bu sayı veya bu sayının özeti ortak anahtar olarak kullanılabilir. Bu algoritma Ta veya Tbvarken, Sa veya Sb’yi hesaplamanın işlemsel olarak güç olduğu varsayımına (ayrık logaritmaları hesaplamanın zorluğu) dayanan güvenli bir anahtar değiştirme algoritmasıdır.
Elgamal Şifreleme: İlk defa1984’de TaherElgamal ayrık logaritma problemine dayanarak açık anahtar şifreleme ve imza algoritması tasarlamıştır. Elgamal şifrelemesinin nasıl çalıştığı aşağıda anlatılmaktadır:
Yukarıda DiffieHellman anahtar değişimi protokolünde anlatıldığına benzer şekilde Alice (p, g, gSa) ‘yı açık anahtarı olarak seçer (ve Bob’a güvenli bir şekilde ulaştırır) ve Sa‘yı özel anahtarı olarak saklar.
Mesaj M için, Bob gy mod p ve (gx)y.Mmod p değerlerini oluşturur ve iki değeri de Alice’e gönderir.
Alice M’nin şifresini (gx)y.M.(gy)p-1-x modp = M .gy(p-1)mod p = M işlemlerini yürüterek çözebilir.
Pratikte, hem RSA hem de Elgamal şifrelemesi gizli anahtarlı bir algoritmada anahtar olarak kullanılacak kısa mesajları şifrelemede kullanılır. Sonrasında gizli anahtar algoritmalarından biri tercih edilir. Bu ikili kullanım melez şifreleme olarak adlandırılır ve verimlilik amacıyla tercih edilir. Gizli anahtarlı şifreleme algoritmaları açık anahtarlı algoritmalardan çok daha hızlıdırlar.
Eliptik Eğri Kriptografisi (EllipticCurveCryptography): Şimdiye kadar ayrık logaritma problemini sonlu cisim Zp‘de dikkate aldık (p’nin asal sayı olduğu mod p’de). Fakat problemi başka yapıda olan sonlu cisimlerdede kullanabiliriz. Örneğin, önceki açık anahtar algoritmalarının tümünü (RSA hariç) eliptik eğriler kullanarak da çalıştırabiliriz. Fikir temelde aynı olsa da uygulama biraz daha karmaşıktır. Eliptik eğrileri kullanmanın faydası aynı güvenlik seviyesi için daha küçük anahtar boyutlarını kullanabilmektir. Bunun sebebi ayrık logaritma probleminin çözümünün eliptik eğrilerde daha zor olmasıdır.
Kriptografik Anahtar Büyüklüklerini Seçme: Genelde kripto algoritmalarının güvenliği anahtar büyüklüğünün artması ile artar. Öte yandan daha uzun anahtar uzunluğu genelde daha yavaş çalışma anlamına gelmektedir. Bu sebeple kripto algoritmalarının anahtar boyutlarını seçmek uygulamamız için istediğimiz güvenlik seviyesini belirlememiz için gereklidir. Aşağıdaki tablo http://www.keylength.com/adresinden alınmıştır.
|
Tablo 1. Koruma seviyesine göre Simetrik ve Asimetrik algoritmalarının tavsiye edilen anahtar uzunlukları.
Tabloda, grup ayrık logaritma boyutları bu bölümde anlattığımız algoritmalarda kullanılmamaktadır. Elgamal İmzalamanın imza boyutu küçültülmüş bir varyasyonu olan DSS (DigitalSignatureStandard)ve benzeri bazı algoritmaların kullandığı bir parametredir.
DEĞERLENDİRME SORULARI
TARTIŞMA/PEKİŞTİRME SORULARI
N tane kişinin her birinin diğer N-1 kişi ile güvenilir bir şekilde konuşmak istediğini düşünün ( i ve j arasındaki konuşma sadece i ve j tarafından dinlenebilecek ve başkaları bu konuşmanın şifresini çözemeyecek). Bu şekildeki bir güvenlik sistemini kurmak için simetrik şifreleme ve asimetrik şifreleme kullanıldığı durumlarda toplam kaç anahtar gerektiğini hesaplayınız ve bu anahtarların ne tür anahtarlar olduğunu belirtiniz.
RSA algoritması için p=3 ve q=11 değerlerini seçiniz (p ve qRSA’da gerekli olan iki asal sayı), anahtarları üretiniz ve “5” sayısını şifreleyiniz. Şifre çözme işlemini uygulayarak açık metin mesajı tekrar oluşturunuz.
Niye 512 bit RSA algoritması 160 bit eliptik eğri algoritmasına göre daha az güvenlidir? Kısaca açıklayınız.
744 ile 936 sayılarının en büyük ortan bölenini Öklid algoritmasını kullanarak hesaplayınız. Eğer varsa 744 sayısının mod 936’da çarpımsal tersini genişletilmiş Öklid algoritması ile hesaplayınız.
“Homomorphism” terimi bazı cebirsel özelliklerin kripto işleminin yapılmasına rağmen saklı kalabilmesi anlamında kullanılmaktadır.
(a) RSA kripto-sisteminde ne tür bir homomorfik yapı olduğunu gösteriniz.
(b) Bu özelliğin kullanışlı olabileceği bir senaryo üretiniz.
(c) Bu özelliğin bir güvenlik açığı olarak kabul edileceği bir senaryo üretiniz.
BÖLÜM 4: SAYISAL İMZALAR
4.1. GİRİŞ
Buraya kadar anlatılan konularda ana amaç gizliliğin sağlanması idi. Gizli anahtarlı ve açık anahtarlı farklı şifreleme algoritmalardan biri ile veriyi şifrelememiz o verinin anahtarı bilmeyen kişiler tarafından okunmasını engelliyor idi. Modern kriptografi gizlilik dışında başka güvenlik ihtiyaçlarına da çözüm olabilmektedir. (o sebeple kriptografi terimini şifreleme olarak çevirmek yanlış anlamalara sebep verebilmekte.) Bu çözümlerden belki de en meşhuru sayısal imzalardır (digitalsignature). Kabaca sayısal imzalar binlerce yıldır kullanımda olan ve günlük hayatta sıkça başvurduğumuz ıslak imzaların işlevinin sayısal dünyada gerçekleştirilmesi olarak tanımlanabilen bir teknolojidir.
Sayısal ve ıslak imzaların sağladığı üç önemli işlev şunlardır:
1. Mesajın kimlik bilgisinin doğrulanması (messageauthentication): Mesajın kim tarafından gönderildiğinin/oluşturulduğunun anlaşılması.
2. Mesaj bütünlüğü (messageintegrity): Mesajın ilk üretiminden sonra değiştirilmediğinin garanti altına alınması.
3. İnkar-edememezlik (nonrepudiation): Mesajı gönderen/oluşturan kişinin daha sonra bu mesajı gönderen kişinin kendisi olduğunu inkar edememesi.
Bir ıslak imza uygulamasında genelde bu üç özelliğin de önemli olduğunu söyleyebiliriz. Altına imza atılan bir kira kontratının sadece kiracı ve ev sahibi tarafından oluşturulabilmesi, içeriğinin sonradan değiştirilememesi ve imza sahiplerinin imzalarını daha sonra inkâr edememesi gerekmektedir.
Bu üç özelliğin sayısal dünyada nasıl sağlanabildiği RSA sayısal imzalama algoritması örneği ile anlatılacaktır. Bundan önce problemin zorluğuna ve basit çözümlerin işe yaramadığına ilişkin şu bilgileri vermek gerekir. Sayısal dünyanın fiziksel dünyadan farklarından biri sayısal bilginin kopyalanmasının çok kolay olmasıdır. Örneğin bir ıslak imzanın tarayıcıdan geçirilerek sayısallaştırılması yolu ile elde edilen bir imzanın (bu tür imzaları bilinen sayısal imzalardan ayırabilmek için bazen elektronik imza terimi kullanılır) sağladığı güvenlik çoğu kez yeterli değildir. Çünkü bu elektronik imza istenildiği şekilde kopyalanabilip başka mesajların imzası olarak da kullanılabilir.
Yukarıdaki tartışmadan da anlaşılacağı üzere sayısal imzaların bir özelliği aynı zamanda mesaja bağlı olmasıdır. Bir diğer ifadeyle bir sayısal imza ancak belli bir mesaj için üretilmeli ve ancak o mesaj için doğrulanabilmelidir. Matematiksel olarak bu gereksinimin nasıl sağlanabildiği aşağıdaki RSA örneğinde anlatılmaktadır.
4.2. RSA İMZALARI
Yukarıda açıklanan RSA algoritmasının ilginç bir özelliği şifreleme ve şifre çözme işlemlerinin değiştirilebilen (commutative) özelliği göstermesidir. RSA’deşifreleme ve şifre çözme işlemlerinin yeri değiştirilebilir. Çünkü aşağıdaki eşitlik matematiksel olarak doğrudur.
(me)d mod n = (md)e mod n
Bu sebeple bir mesaja (şifrelenmeden) RSA şifre çözümü işlemi uygulansa elde edilen değer o mesaja ait bir sayısal imza oluşturur.
imzam = mdmod n
Herhangi bir kişi açık anahtarı kullanarak imzanın doğruluğunu kontrol edebilir.Eğer (imzam)e = m ise imzam doğrudur.
İmza veya mesajda yapılan bir değişiklik veya farklı bir özel anahtar (d) kullanımı sonrasında yukarıdaki doğrulamanın yapılamayacağını rahatlıkla gösterebiliriz.
Bir açık anahtarlı şifreleme algoritmasının şifreleme ve şifre çözme işlemlerinin yerini değiştirerek sayısal imza algoritması elde edilmesi sadece RSA algoritması için geçerlidir. Örneğin Elgamal İmzalama algoritması Elgamal şifrelemenin ters hali değildir.

Şekil 8. Sayısal İmzalama ve İmza doğrulama işlemlerinin gösterimi
Şekil 8'de imzalama ve imza doğrulamanın algoritma-bağımsız genel çalışma prensibi gösterilmektedir. İmzalama işleminin mesajın kendisine değil de mesajın özetine (özet fonksiyonu –hashfunction kullanarak) uygulanmasının sebebi imzalama algoritmaların belli bir uzunluktan büyük mesajlara doğrudan uygulanamamasıdır. Mesajları küçük bloklara bölüp her birini ayrı ayrı imzalamak da verimli bir çözüm değildir (hem imzalama süresi hem de oluşan imza büyüklüğü açısından). Sayısal imzanın yanı sıra pek çok farklı uygulaması olan özet fonksiyonları konusu bir sonraki bölümde anlatılacaktır.
4.3. ELGAMAL İMZALARI
RSA imzalarından daha zor anlaşılsa da ayrık logaritma problemine dayanan bir sayısal imza algoritması örneği olması açısından Elgamal imzalama algoritması aşağıda kısaca tanıtılacaktır:
Şifrelemede olduğu gibi, Alice(p, g, gSa) ‘yı açık anahtarı olarak Bob’a iletir ve Sa ‘yı gizli anahtarı olarak saklar.
Mesaj M’yi imzalamak istediğinde rastgele bir değer olarak y’yi üretir ve gymod p’yi hesaplar.
s imzasını üretmek için şu denklemi çözer:
s=(M – Sa.gy)/y mod p
Bob’a mesaj M’yi, gy mod p değerini ve imza olarak da s’yi gönderir.
Bob s’nin doğru olup olmadığını kontrol etmek için şu denklemin doğruluğundan faydalanır.
Sa.gy+ys=M mod p
ve bu denklemin doğruluğunun her iki tarafın g’nin üssü olduğu durumdada korunduğu gerçeğinden hareketle imza kontrolünü yapar:
(gSa)^gy+(gy)s=gM mod p
Hatırlarsak, buradaki tüm değerler açık anahtar veya imza ile birlikte iletilen değerlerdir. Bu sebeple bu kontrolü Bob yapabildiği gibi açık anahtara sahip herkes yapabilir.
Son olarak, sayısal imzaların da güvenli bir şekilde kullanılabilmesi için imzalayan kişi ile o kişinin açık anahtarı arasında güvenli bir bağın kurulması gerektiğini hatırlatalım. Bu bağın Açık Anahtar Altyapısı ile nasıl kurulduğu üzerinde daha sonra durulacaktır.
DEĞERLENDİRME SORULARI
TARTIŞMA/PEKİŞTİRME SORULARI
Ayşe Bora’ya açık anahtar kriptografisi kullanarak şifreli ve imzalı bir mesaj göndermek istiyor. Ayşe ve Bora sırası ile hangi anahtarları kullanacaklardır? Belirtiniz.
İmzalama anahtarının 5 kişi arasında paylaşıldığı ve bu 5 kişiden en az 2’sinin bir araya gelerek imzalama yapabildiği bir eşik imza (thresholdsignature) yönteminin RSA algoritması kullanarak nasıl gerçekleştirilebileceğini araştırınız.
BÖLÜM 5: DİĞER KRİPTO ARAÇLARI
Modern kriptografiyi sadece şifreleme algoritmaları ile sınırlamanın yanlış olacağını bir önceki bölümde anlatılan sayısal imza konusu ile örneklendirdik. Kriptografi biliminin hızlı ilerlemesi sonucunda çok daha özel ve karmaşık amaçlar için geliştirilmiş algoritma olsa da biz bu ders kapsamında en temel olan aşağıdaki altı araç üzerine yoğunlaşacağız. Bu araçlardan üçü daha önce anlatılmıştı, geri kalan üç araç bu bölümün konusudur.
Kriptografi kullanıcılarının alet çantalarında bulunan en temel altı araç şunlardır:
Simetrik şifreleme (anlatıldı)
Özet (Hash) fonksiyonları
Mesaj kimlik doğrulama kodları
Rastgele sayı üreteçleri
Açık anahtar şifreleme (anlatıldı)
Sayısal imzalar
5.1. ÖZET FONKSİYONLARI
Bir kriptografik özet fonksiyonu herhangi bir uzunlukta bir metini alıp sabit uzunlukta bir sonuç üretir. Özet fonksiyonları için çeşitli gereklilikler vardır:
Tek-yönlülük (ön-görüntü direnci)özelliği: Verilen bir h() fonksiyonu ile mesaj m için x = h(m) değerini hesaplamak kolay iken, x değerinden m’yi bulmak zor olmalıdır (hesaplama anlamında imkânsıza yakın olmalıdır).
İkincil ön-görüntü direnci (zayıf çarpışma direnci)özelliği: Bir x değeri için h(x)=h(x’) eşitliğini sağlayan bir x’ değerini bulmak zor olmalıdır.
Çarpışma direnci özelliği: h(x)=h(y) eşitliğini sağlayan herhangi bir x,yçiftini bulmak zor olmalıdır
- .

Şekil 9. MD-5 ve SHA-1 gibi yaygın kullanılan özet fonksiyonlarının genel işleyiş şekli
Yukarıdaki ilk özellik özet fonksiyonları kullanan her uygulama için önemlidir. Diğer bazı uygulamalar için ise (sayısal imza gibi) yukarıda belirtilen üç özelliğin sağlanması da gerekmektedir.
Şekil 9'dan da görüleceği üzere MD5 ve SHA-1 gibi hızlı özet fonksiyonları şu şekilde çalışır:
Girdi değeri X, sıkıştırma fonksiyonu C'nin blok boyutunun katı olacak şekilde uzaltılmalıdır (dolgulanmalıdır).
Daha sonra uzatılan X m adetbloğa X1,...,Xm bölünür. Her bir blok C'nin blok boyutuna sahiptir.
H(X)=Hm değeri Hi=C(Hi-1,Xi) sıkıştırma fonksiyonunu m kere artarda çalıştırarak hesaplanır. Burada H0 önceden tanımlanmış bir başlangıç değeri, C ise sıkıştırma fonksiyonudur.
Doğum Günü Paradoksu: Blok şifrelerin anahtar uzunluğuna benzer şekilde özet fonksiyonlarının çıktı uzunluğu kaba kuvvet saldırılarına karşı olan dirençlerini gösterir. Eğer özet fonksiyonu çıktısı n bit ise, elinizde bir x varken h(m)=x’i sağlayan bir m bulmak yaklaşık ortalama olarak 2n tane deneme yapmayı gerektirmektedir.Benzer bir şekilde, herhangi bir x için, h(x)=h(x’)’ı sağlayan bir x’bulmak 2n işlem gerektirmektedir. Diğer bir deyişle, n-bit çıktılı güvenli bir özet fonksiyonu ön-görüntü direnci ve ikincil ön-görüntü direncinin 2n işlem olduğu söylenebilir.
Çarpışma direnci için benzer bir analiz biraz daha karmaşıktır. Burada elinizde önceden tanımlanmış bir mesaj yoktur, bunun yerine aynı özet çıktısına sahip iki mesaj bulmak yeterlidir. İlginç bir şekilde bir matematiksel analiz ile eğer 2n/2 tane rastgele mesajın özet çıktısı üretilirse %50 ihtimal ile en az iki mesajın özet değerinin aynı olacağı gösterilebilir. Mesela, eğer özet çıktısı 64 bit ise, aynı özete sahip iki değer bulmak için sadece 232 mesaj denemesi yeterli olacaktır. Bu sonuç diğer saldırıların aksine çarpışma saldırılarını çok daha hızlı kılmaktadır. (Diğer bir deyişle, bu örnekte özet fonksiyonunun çarpışma direnci özelliğini kırmak tek yönlülüğünü kırmaktan 232 kat daha hızlıdır.)
Bu sonuç genel olarak doğum günü paradoksu olarak isimlendirilir, çünkü bu analizle eğer bir odada 23 veya daha fazla insan varsa, iki veya daha fazla kişinin aynı günde doğmuş olma ihtimalinin %50’den fazla olduğunu söyleyebiliriz. Daha doğru bir tabirle bu bir paradoks değil, enteresan bir matematiksel gerçektir.
Özet Fonksiyonlarının Uygulamaları: Son derece geniş bir uygulama sahasına sahip olan özet fonksiyonları, kriptografi dünyasında önemli bir yer tutarlar. En önemli uygulamaları şunlardır:
Bir dosyanın (veya tüm sistemin) bütünlük kontrolü: Eğer bir dosya için bir özet değeri hesaplarsanız ve bu değeri güvenli bir yerde saklarsanız, kimse dosyayı sizden habersiz değiştiremez. Çünkü aynı özete sahip bir başka dosya oluşturmak pratikte mümkün değildir.
Parola güvenliği: Sunucu sistemlerde kullanıcıların parolalarının kendileri yerine bu parolaların özetlerinin saklanması genel bir anlayıştır. Bir parolayı doğrulamak için sunucuda girilen parolanın özeti hesaplanır ve saklanan özet ile aynı olup olmadığı kontrol edilir. Bu yol ile parola dosyasını ele geçiren saldırgan parolayı doğrudan elde edemez.
Uzun mesajları imzalamak: Bir önceki konuda gördüğümüz imza algoritmaları belli bir uzunluktan büyük mesajları imzalamak için doğrudan kullanılamaz. Mesaj boyutunu küçültmek için, önceözet fonksiyonu mesaja uygulanır ve mesaja ait parmak izi (fingerprint) değer elde edilir. İmzalama daha kısa olan parmakizi değer kullanılarak yapılır. Doğrulamada, aynı özet fonksiyonu uygulanmalıdır (Şekil 8'e bakınız).
Mesaj doğrulama kodu üretmek için: Aşağıda anlatılacak olan mesaj doğrulama kodlarına (messageauthenticationcode - MAC) sahip olmanın bir yolu mesaj özet alma işlemlerinde gizli anahtarı da mesajın yanında ikinci bir girdi değer olarak kullanmaktır. Bu işlem şöyle formüle edilebilir:
MACK(M)=h(K,M)
Özet Zincirleri: Bir özet fonksiyonunu ilk çekirdek değerden (s) başlayarak n kez uygularsak n uzunluğunda bir özet zinciri elde etmiş oluruz: hn(s) = h (hn-1(s))
Özet zincirinin elemanları sırasıyla şunlardır:
h(s), h2(s), h3(s), . . . , hn-1(s), hn(s). Bu özet zinciri açık-anahtar kriptografi ile benzer özelliklere sahiptir. Özet zincirindeki son eleman hn(s) değerini güvenli bir şekilde dağıttığınızda kendinizi özet zinciri elemanlarını birer birer tersten kullanarak n-1 kere güvenli bir şekilde tanıtabilirsiniz. Eğer bir saldırgan özet zincir elemanları kullanılırken ele geçirirse, bir sonraki henüz kullanılmamış elemanı hesaplayamayacağından dolayı (özet fonksiyonlarının tek-yönlülük özelliğine sahip olduğu varsayımı ile) başarılı bir saldırı gerçekleştiremez. Bu yapı ilk defa LeslieLamport tarafından oluşturulmuştur ve bu sebeple Lamport’un tek kullanımlık parola sistemi olarak bilinir.
5.2. MESAJ DOĞRULAMA KODLARI
Mesaj doğrulama kodu (Message AuthenticationCode- MAC) sayısal imza gibi mesaja eklenen bir değerdir. İmzalamaya benzer şekilde gizlilik amaç değildir, sadece mesajın gizli anahtar kriptografisi vasıtası ile istenilen kişiden değişmeden geldiğinin doğrulanmasıdır (sayısal imza işlevlerinin ilk ikisi sağlanır, üçüncü özellik olan inkar-edememezlik ise gizli anahtar kriptografisi kullanıldığı ve kullanılan anahtar hem alıcı hem gönderici tarafta bulunduğu için sağlanamaz).
Varsayalım ki siz ve haberleştiğiniz kişi gizli anahtar k’yı biliyor. Karşı taraf size bir e-posta mesajı göndermek istiyor. Siz bu mesajın gerçekten o kişiden gelip gelmediğini kontrol etmek istiyorsunuz. Bu amaç için kullanılabilen mesaj doğrulama kodları şu şekilde çalışır:
Karşınızdaki kişi, göndereceği e-posta mesajı P için gizli anahtar k ile bir MAC değeri hesaplar: M1k = MAC(M,k)
Daha sonra size hem P’yi hem de M1k değerini gönderir.
Siz P’yi aldığınızda elinizdeki k ile yeni bir MAC hesaplarsınız, bu MAC’a M2k diyelim.
Eğer M2k ile M1k birbirine eşit ise mesaj istediğiniz kişiden değişmeden gelmiştir.Eğer değil ise ya mesaj başkası tarafından gönderilmiştir ya da size gelirken ağ üzerinde değişikliğe uğratılmıştır.
Dönüşsel artıklık denetimi (CRC –cyclicredundancycheck) ve benzeri yöntemlerle de mesaja eklemeler yaparak mesajda oluşan istenmeyen fiziksel hatalar bulunmaya çalışılır. Fakat mesaj tanıma kodlarının bu yöntemlerden çok önemli bir farkı vardır. MAC algoritması akıllı düşmanlar karşısında bile veri bütünlüğünü koruyabilir. Öte yandan CRC ve benzeri yöntemler kullanıldığında mesajda yapılan bir değişiklik ile birlikte eklenen kısımda da değişiklik yapılabileceği için akıllı düşmanlara karşı etkisizdir. Bu sebeple bu yöntemlerin güvenlik (security) yöntemleri değil emniyet (safety) yöntemleri olduğunu söyleyebiliriz.
Yukarıda mesaj doğrulama kodlarının özet fonksiyonları kullanılarak nasıl oluşturulabildiğini gördük. Bir diğer standart yol ise Şifre Blok Zincirleme kipinde simetrik bir şifreleme algoritması kullanarak karşı tarafa düz metin mesaj ile şifremetinin son bloğunu göndermektir. Ayrıca özel olarak mesaj doğrulama kodu üretmek için tasarlanmış algoritmalar da vardır.
5.3. RASSAL SAYI ÜRETEÇLERİ
Kripto algoritmaları anahtarlar, başlangıç vektörleri, vb. için, kriptografik protokoller ise tek kullanımlık "nonce" ve "istek mesajı (challenge)" gibi değerleri üretmek için başkaları tarafından tahmin edilemeyecek rastgele bit dizileri üretmeye ihtiyaç duyarlar. Sayısal ortamlarda kullanılan bilgisayar ve benzeri teknolojiler son derece deterministiktir (rassallık içermezler). Bu sebeple güvenli rastgele (rassal) sayı üretmek zor ve çoğu zaman gözden kaçırılan önemli bir güvenlik problemidir.
Rassallık (random) ve sözde-rassallık (pseudo-random) kavramları arasında şöyle önemli bir fark vardır. Rassal sayı üreteçleri tamamen tahmin edilemez şekilde rassal sayı üretirler ve özel donanım gerektirirler. Örneğin, birim zamanda ortamdaki radyoaktif atom sayısını sayan bir donanım gibi.
Fakat çoğu bilgisayar bu ve benzeri bir donanıma sahip değildir. Bu yüzden çoğu kez sahip olunan tek seçenek sözde-rassal sayılar üretmektir. Sözde-rassal üreteçlerdeterministik algoritmalar bulundurur. Oluşturacağı tüm sayı dizisi ilk çekirdek değer tarafından belirlenir. Fakat eğer bu çekirdek değer tahmin edilemez bir değer ise (rassal olarak üretilmiş ise) oluşturulan sözde-rassal sayılar gerçek bir rassalsayı üreteci tarafından üretilen sayılardan ayırt edilemez olabilirler.
h() özet fonksiyonu kullanılarak sözde-rassalbir sayı üreteci şu şekilde çalıştırılabilir:
R1= h(çekirdek)
R2 = h(çekirdek, R1)
...
Rn = h(çekirdek, Rn-1)
Çekirdek, değer tüm dizinin rassallığı ve dolayısıyla güvenliği için çok önemlidir. Üretilen rassal sayının uzun olması eğer çekirdek değer kısa ise güvenliği sağlamak için yeterli olmaz. Simetrik şifrelerin anahtar uzunlukları veya özet fonksiyonlarının çıktı uzunlukları gibi çekirdek değerin seçildiği uzayın boyutu da kaba kuvvet saldırılarına karşı koymada çok kritik öneme haizdir.
Çekirdekdeğer üretmek için bazı alternatifler şöyledir.
Kullanıcı davranışlarının yüksek-çözünürlükteki zaman bilgisi (mesela tuş vuruşları)
Yüksek-çözünürlüklü zaman
Yüksek-çözünürlükte disk arama zamanı
Son olarak, farklı kaynakların sonuçlarını birleştirerek daha güvenli rassal sayılar elde edebileceğimizi söyleyebiliriz.
DEĞERLENDİRME SORULARI
TARTIŞMA/ PEKİŞTİRME SORULARI
İnternette kullanılan bir rotalama algoritması mesajları imzalamak için standart açık anahtar kriptografisi araçları (RSA, DSS gibi) yerine sadece bir özet fonksiyonu (MD5 gibi) kullanmaktadır. Bu tercihin sebebi ne olabilir? Sadece MD5 kullanan bu algoritmanın çalışma prensibi ne olabilir? Araştırınız.
Ders içerisinde akıllı kripto tüketicilerinin hizmetine sunulmuş olan altı tane kripto aracını tanıdık.Bu altı aracı listeleyiniz. Bu altı aracın hangi güvenlik hedeflerini karşılamak için kullanılabileceğini gösterir bir tablo oluşturunuz. Bu tabloyu açıklayınız.
Yukarıdaki soruda sorulan altı araçtan birisi özet (hash) algoritmasıdır. Sadece özet algoritması kullanarak diğer kripto araçlarından üç tanesinin gerçekleştirilmesi mümkündür. Bu üç araç hangileri olabilir? Bu 3 aracın özet algoritmaları kullanarak nasıl gerçekleştirilebildiğini gösteriniz ve cevabınızı açıklayınız.
Özet fonksiyonları için doğum günü saldırısı ne demektir? Açıklayınız. Bu saldırının (i) uygulanabildiği (ii) uygulanamadığı birer örnek veriniz.Not: Burada “uygulanabilme - applicability” sözcüğü ile bu saldırının matematiksel anlamda zorluğu veya yapılabilir olup olmadığı konusu değil anlamlı ve dikkate alınması gerekli bir saldırı olup olmadığı sorulmak istenmektedir.
Mesaj tanıma kodlarını (messageauthenticationcodes) internet sağlama toplamı (Internet checksum) ile karşılaştırınız ve farklarını açıklayınız.
BÖLÜM 6: KİMLİK DOĞRULAMA
BÖLÜM 7: AĞ GÜVENLİĞİ; İNTERNET VERİ GÜVENLİĞİ TEKNİKLERİ VE ATEŞ DUVARLARI
BÖLÜM 8: YAZILIM GÜVENLİĞİ VE KÖTÜCÜL YAZILIMLAR
KAYNAKLAR
Siber uzay nedir?
Siber uzay, birbiriyle bağlantılı sistem, yazılım, donanım ve insanların iletişim ve etkileşimde bulundukları soyut veya somut alandır.
Güvenlik nedir?
Toplumsal yaşamda düzenin aksamadan yönetilmesine güvenlik denir.
Siber güvenlik nedir?
Siber alanın gizlilik, bütünlük ve erişilebilirliğinin sağlanması
Siber saldırının sebepleri nelerdir?
- para
- intikam
- eğlence
- akılda kalma
- anonimlik
- siber espiyonaj
Bilgi güvenliğinin temel amacı nedir?
Bilgi güvenliğinin temel amacı bilginin gizlilik, güvenlik ve erişilebilirliğinin kaybolmasını önlemektir.
Gizlilik nedir?
Bilginin yetkisiz kişilerin eline geçmemesi
Gizlilik nasıl sağlanır?
identifying
authentication
encryption
access control
Bütünlük nedir?
Bilginin yetkisiz kişilerce veya istenmeyen şekilde değiştirilmemesidir.
Bütünlük nasıl sağlanır?
hashing
audit logging
Erişilebilirlik nedir?
Erişilebilirlik bilginin ihtiyaç duyulduğu anda yetkili kişilerin erişimine ve kullanımına hazır olması durumudur.
Erişilebilirlik nasıl sağlanır?
yedekler
gereğinden fazla disk
gereğindenn fazla bağlantı
En az yetki prensibi nedir?
Bir kişiye işini yapabilmesi için ihtiyac olduğu kadar erişim yetkilerinin verilmesi.
Bir işlemin üzerinde tek bir kişinin tüm kontrolü sağlayabilecek olmamamasına ne denir?
görevlerin ayrılması
Farklı katmanlarda çoklu kontroller implemente ederek derin ve katmanlı bir koruma sağlanmasına ne denir?
derinlemesine savunma
Gerekli özen nedir?
Güvenlik politikalarının belirlenip uygulamaya geçirilmesine gerekli özen denir.
Gerekli özen neyin göstergesidir?
Bilindik riskler için gerekli önlemlerin alındığının göstergesidir.
Gerekli özen neyi gösterir?
Yönetsel bir seviyede kaynaklar üzerindeki riskin azaltıldığını gösterir.
Due diligence nedir?
Due diligence yapılacak herhangi ana değişiklik veya işlemle ilgili risklerin araştırılarak ortaya koyulmasıdır.
Due diligence'in amacı nedir?
Due diligence'in amacı CIA üçlemesine gelebilecek tehditleri veya riskleri ortaya koyarak azaltmaya yönelik önlem alınabilmesini sağlamaktır.
İnkar edememe nasıl sağlanır?
denetim günlükleri
dijital imzalar
3A nedir?
authentication
authorization
accounting
Kriptoloji nedir?
Kriptoloji, haberleşen iki veya daha fazla tarafın bilgi alışverişini emniyetli olarak yapmasını sağlayan, temeli matematiksel zor problemlere dayanan tekniklerin uygulamaların bütünüdür.
Kriptoloji hangi disiplinleri kullanır?
matematik
elektronik
optik
bilgisayar bilimi
Kriptoloji nelerin birleşimidir?
kriptografi+kriptanaliz
Kriptografi nedir?
Kriptografi, gizlilik, kimlik denetimi, bütünlük gibi bilgigüvenliğini sağlamak için çalışan matematiksel yöntemlerin bütünüdür.
Kriptanalizin amaçları nelerdir?
Kriptanaliz, kriptografik sistemlerin kurduğu mekanizmaları inceler ve çözmeye çalışır. Kriptanalizin kriptoloji için önemi çok büyüktür çünkü ortaya konan bir şifreleme sistemini inceleyerek, zayıf ve kuvvetli yönlerini ortaya koymak için kriptanaliz kullanılır.
Kimlik doğrulama nedir?
Kimlik doğrulama, bilgiyi gönderen kişinin kimliğinin doğruluğundan emin olmaktır.
Dinleme tehdidi nedir?
Haberleşme kanalını dinleyen saldırgan gönderici ile alıcı arasında mesaj trafiğini dinleyebilir ve elde ettiği mesajları okuyarak haberleşmenin gizliliğini bozar.
Değiştirme tehdidi nedir?
Haberleşmeye müdahale edip göndericinin mesajlarını değiştiren saldırgan, alıcıya giden mesajı istediği şekle sokabilir.
Oluşturma tehdidi nedir?
Saldırgan, alıcıya göndericinin kimliğini taklit ederek bir mesaj gönderebilir. Bu durumda eğer alıcı güvenilir bir kimlik doğrulaması yapmıyorsa yanlış mesajlarla kandırabilir.
Elektronik haberleşmedeki tehditlere karşı alınması gereken önlemler nelerdir?
veri şifreleme yöntemleri
özetleme algoritmaları
mesaj özetleri
elektronik imzalar
sertifikalar
Şifreleme nedir?
Şifreleme mesajın üçüncü kişilere doğru bir anahtara sahip olmadan anlam ifade etmeyecek şekilde bir işlemden geçirilerek değiştirilmesidir.
Şifre çözme nedir?
Şifreleme işlemi sonucunda ortaya çıkan yeni biçimdeki bilgi, şifre çözme işlemine tabi tutularak ilk haline dönüştürülebilir. Şifre çözme şifrelenmiş bir mesajın aynı anahtarı kullanarak orijinal formuna döndürme işlemidir.
Şifreleme yönteminde aranan özellikler nelerdir?
-Şifreleme ve şifre çözme işleminin zorluğu ihtiyaç duyulan güvenlikle doğru orantılı olmalıdır. Çok önemli olmayan bir bilginin şifrelenmesi için bilginin kendisinden daha fazla işgücü ve zaman harcanması verimli olmaz.
-Anahtar seçimi ve şifreleme algoritması özel koşullara bağlı olmamalıdır. Şifreleme yöntemi her türlü bilgi için aynı şekilde çalışmalıdır.
-Şifrelemede yapılan hatalar sonraki adımlara yansımamalı v eemsajın tamamını bozmamalıdır. Saldırılara karşı bu özellik koruyucudur. Haberleşme hattında meydana gelen bir hata bütün mesajın bozulmasına neden olmayacağı için bu özellik tercih edilmektedir.
-Kullanılan algoritmanın karıştırma özelliği olmalıdır. Mesajın şifrelenmiş hali ile açık hali arasında ilişki kurulması çok zor olmalıdır.
-Kullanılan algoritmanın dağıtma özelliği olmalıdır. Mesajın açık hali şifreli hale gelirken içerdiği kelime ve harf grupları şifreli mesajın içinde olabildiğince dağıtılmalıdır.
Mono alfabetik şifre neden çok kısa sürede kırılabilir?
Bu yöntemler kullanılan dildeki harflerin yerini değiştirir ama harflerin frekansını değiştirmez.
Sezar şifresi nedir?
Sezar şifresinde metindeki harfler 3 harf kaydırılarak değiştirilir.
Mono Alfabetik Şifreleme nedir?
Mono alfabetik şifreleme, bir metnin şifrelenmesinde her harfin sabit bir başka harfle veya sembolle değiştirildiği bir şifreleme yöntemidir. Bu yöntemde, bir harf her zaman aynı harf veya sembolle eşleştirilir. En bilinen örneği Sezar Şifresi'dir. Antik Roma'da kullanılmıştır. Romalı general Julius Caesar tarafından MÖ 1. yüzyılda askeri mesajları korumak için kullanıldı.
Tablo yöntemi nedir?
Tablo yöntemi, şifreleme için bir tablonun kullanıldığı bir yöntemdir. Genellikle bir anahtar kelime veya tablo kullanılarak metindeki harfler başka harflerle ya da sembollerle değiştirilir. Mono alfabetik veya poli alfabetik şifreleme için kullanılabilir. Tablo, şifreleme ve deşifreleme işlemlerini kolaylaştırmak için bir referans sağlar. Tablo yöntemi, Antik Yunan ve Roma dönemlerinde basit formlarıyla kullanılmıştır. Polybius kare tablosu bir tür tablo yöntemidir. Rönesans döneminde, tablo yöntemi daha karmaşık hale geldi ve Vigenère gibi poli alfabetik şifreleme sistemleriyle birlikte kullanıldı.
Poli Alfabetik Şifreleme nedir?
Poli alfabetik şifreleme, bir metnin şifrelenmesinde birden fazla şifreleme alfabesinin kullanıldığı yöntemdir. Her harf, metnin konumuna veya bir anahtar kelimeye bağlı olarak farklı bir alfabe ile şifrelenir. Bu, mono alfabetik şifrelemeye kıyasla frekans analizine karşı daha dayanıklıdır.
Poli alfabetik şifrelemeyi kim geliştirmiştir?
Poli alfabetik şifreleme, 15. yüzyılda İtalyan bilgin Leon Battista Alberti tarafından geliştirildi.
Vigenère Tablosu nedir?
Vigenère tablosu, poli alfabetik şifreleme için kullanılan bir tablodur. 26x26'lık bir kare matristen oluşur; her satır ve sütun alfabenin bir harfini temsil eder. Bir anahtar kelime kullanılarak, metindeki her harf tablodaki ilgili satır ve sütunun kesişiminde bulunan harfle değiştirilir.
One-Time Pad nedir?
One-Time Pad her mesaj için rastgele ve yalnızca bir kez kullanılan bir anahtar dizisiyle şifreleme yapılan bir yöntemdir. Şifrelenecek metinle aynı uzunlukta rastgele bir anahtar kullanılır ve genellikle XOR işlemiyle metin şifrelenir. Matematiksel olarak kanıtlanmış tek "mükemmel güvenli" şifreleme yöntemidir, ancak anahtarın güvenli dağıtımı zordur. 1917'de Gilbert Vernam ve Joseph Mauborgne tarafından geliştirildi. İlk olarak telgraf iletişiminde kullanıldı ve Soğuk Savaş döneminde casusluk faaliyetlerinde yaygınlaştı. Claude Shannon, 1949'da bu yöntemin matematiksel olarak kırılamaz olduğunu kanıtladı, ancak pratikte anahtar yönetimi nedeniyle sınırlı kullanımı oldu.
Vernam şifresi nedir?
Vernam Şifresi, tek kullanımlık karakter dizisinin temelini oluşturan bir şifreleme yöntemidir. Gilbert Vernam tarafından geliştirilen bu sistem, metni rastgele bir anahtar dizisiyle (genellikle ikili formatta) birleştirir (XOR işlemi). Anahtar, metinle aynı uzunlukta olmalı ve yalnızca bir kez kullanılmalıdır. 1917'de Gilbert Vernam, AT&T'de çalışırken bu yöntemi geliştirdi. Başlangıçta telgraf sistemleri için tasarlandı. Joseph Mauborgne, Vernam Şifresi'ni geliştirerek tek kullanımlık karakter dizisi kavramını ekledi ve yöntemin güvenliğini artırdı. Vernam Şifresi, modern simetrik anahtarlı şifreleme sistemlerinin temelini oluşturdu.
Polybius karesi nedir?
Polybius karesi, 5x5'lik bir tablo kullanılarak harflerin sayılarla temsil edildiği bir şifreleme yöntemidir. Her harf, tablodaki satır ve sütun numaralarının birleşimiyle ifade edilir. Harfleri temsil etmek için kullanılır. Polybius yöntemi, MÖ 2. yüzyılda Antik Yunan tarihçi Polybius tarafından geliştirildi. Askeri iletişimde, özellikle gece işaretleşmelerinde kullanıldı. Basitliği nedeniyle eğitim amaçlı örnek olarak öğretilir.

Hiç yorum yok:
Yorum Gönder